1. Problem

In the context of Las Vegas’s dynamic hospitality industry, there is a pressing need to better understand the determinants of hotel star ratings, which are crucial for a hotel’s reputation and guest attraction. Despite the heavy reliance on online reviews and ratings by potential travelers, there remains a gap in comprehensive knowledge about what factors contribute to these ratings. To address this, an in-depth analysis of Las Vegas hotel data is required. The goal of this analysis is to identify and understand the key elements that influence a hotel’s star rating. This understanding can not only provide insights for hotel management to improve their services but also assist potential guests in making informed decisions based on these ratings.

2. Data Mining Task

In our project focusing on Las Vegas hotel reviews, we will implement two primary data mining techniques: classification and clustering, with a specific emphasis on predicting hotel star ratings. The classification aspect of our project involves training a model to predict the star ratings of hotels (‘hotel stars’ being our class label). This prediction will be based on key attributes that, through our research, have shown a significant impact on these ratings. These attributes include the presence of amenities such as a Pool, Gym, Spa, Free Internet, Tennis Court, and Casino.

In the clustering phase, our model will group hotels with similar characteristics, based on these identified attributes. By analyzing clusters of hotels that share these amenities, we aim to understand better and predict patterns in star ratings. This approach will allow us to provide more accurate predictions for the star ratings of new or unreviewed hotels in Las Vegas, based on their amenity offerings. Our findings indicate that these particular amenities are critical in influencing a hotel’s star rating, while other factors do not significantly affect the outcome.

3. Data

Number of objects: 504

Number of attributes: 20

dataset = read.csv("dataset.csv")
View(dataset)
str(dataset)
## 'data.frame':    504 obs. of  20 variables:
##  $ User.country     : chr  "USA" "USA" "USA" "UK" ...
##  $ Nr..reviews      : int  11 119 36 14 5 31 45 2 24 12 ...
##  $ Nr..hotel.reviews: int  4 21 9 7 5 8 12 1 3 7 ...
##  $ Helpful.votes    : int  13 75 25 14 2 27 46 4 8 11 ...
##  $ Score            : int  5 3 5 4 4 3 4 4 4 3 ...
##  $ Period.of.stay   : chr  "Dec-Feb" "Dec-Feb" "Mar-May" "Mar-May" ...
##  $ Traveler.type    : chr  "Friends" "Business" "Families" "Friends" ...
##  $ Pool             : chr  "NO" "NO" "NO" "NO" ...
##  $ Gym              : chr  "YES" "YES" "YES" "YES" ...
##  $ Tennis.court     : chr  "NO" "NO" "NO" "NO" ...
##  $ Spa              : chr  "NO" "NO" "NO" "NO" ...
##  $ Casino           : chr  "YES" "YES" "YES" "YES" ...
##  $ Free.internet    : chr  "YES" "YES" "YES" "YES" ...
##  $ Hotel.name       : chr  "Circus Circus Hotel & Casino Las Vegas" "Circus Circus Hotel & Casino Las Vegas" "Circus Circus Hotel & Casino Las Vegas" "Circus Circus Hotel & Casino Las Vegas" ...
##  $ Hotel.stars      : num  3 3 3 3 3 3 3 3 3 3 ...
##  $ Nr..rooms        : int  3773 3773 3773 3773 3773 3773 3773 3773 3773 3773 ...
##  $ User.continent   : chr  "North America" "North America" "North America" "Europe" ...
##  $ Member.years     : int  9 3 2 6 7 2 4 0 3 5 ...
##  $ Review.month     : chr  "January" "January" "February" "February" ...
##  $ Review.weekday.  : chr  "Thursday," "Friday," "Saturday," "Friday," ...
is.na(dataset)
##     User.country Nr..reviews Nr..hotel.reviews Helpful.votes Score
## 1          FALSE       FALSE             FALSE         FALSE FALSE
## 2          FALSE       FALSE             FALSE         FALSE FALSE
## 3          FALSE       FALSE             FALSE         FALSE FALSE
## 4          FALSE       FALSE             FALSE         FALSE FALSE
## 5          FALSE       FALSE             FALSE         FALSE FALSE
## 6          FALSE       FALSE             FALSE         FALSE FALSE
## 7          FALSE       FALSE             FALSE         FALSE FALSE
## 8          FALSE       FALSE             FALSE         FALSE FALSE
## 9          FALSE       FALSE             FALSE         FALSE FALSE
## 10         FALSE       FALSE             FALSE         FALSE FALSE
## 11         FALSE       FALSE             FALSE         FALSE FALSE
## 12         FALSE       FALSE             FALSE         FALSE FALSE
## 13         FALSE       FALSE             FALSE         FALSE FALSE
## 14         FALSE       FALSE             FALSE         FALSE FALSE
## 15         FALSE       FALSE             FALSE         FALSE FALSE
## 16         FALSE       FALSE             FALSE         FALSE FALSE
## 17         FALSE       FALSE             FALSE         FALSE FALSE
## 18         FALSE       FALSE             FALSE         FALSE FALSE
## 19         FALSE       FALSE             FALSE         FALSE FALSE
## 20         FALSE       FALSE             FALSE         FALSE FALSE
## 21         FALSE       FALSE             FALSE         FALSE FALSE
## 22         FALSE       FALSE             FALSE         FALSE FALSE
## 23         FALSE       FALSE             FALSE         FALSE FALSE
## 24         FALSE       FALSE             FALSE         FALSE FALSE
## 25         FALSE       FALSE             FALSE         FALSE FALSE
## 26         FALSE       FALSE             FALSE         FALSE FALSE
## 27         FALSE       FALSE             FALSE         FALSE FALSE
## 28         FALSE       FALSE             FALSE         FALSE FALSE
## 29         FALSE       FALSE             FALSE         FALSE FALSE
## 30         FALSE       FALSE             FALSE         FALSE FALSE
## 31         FALSE       FALSE             FALSE         FALSE FALSE
## 32         FALSE       FALSE             FALSE         FALSE FALSE
## 33         FALSE       FALSE             FALSE         FALSE FALSE
## 34         FALSE       FALSE             FALSE         FALSE FALSE
## 35         FALSE       FALSE             FALSE         FALSE FALSE
## 36         FALSE       FALSE             FALSE         FALSE FALSE
## 37         FALSE       FALSE             FALSE         FALSE FALSE
## 38         FALSE       FALSE             FALSE         FALSE FALSE
## 39         FALSE       FALSE             FALSE         FALSE FALSE
## 40         FALSE       FALSE             FALSE         FALSE FALSE
## 41         FALSE       FALSE             FALSE         FALSE FALSE
## 42         FALSE       FALSE             FALSE         FALSE FALSE
## 43         FALSE       FALSE             FALSE         FALSE FALSE
## 44         FALSE       FALSE             FALSE         FALSE FALSE
## 45         FALSE       FALSE             FALSE         FALSE FALSE
## 46         FALSE       FALSE             FALSE         FALSE FALSE
## 47         FALSE       FALSE             FALSE         FALSE FALSE
## 48         FALSE       FALSE             FALSE         FALSE FALSE
## 49         FALSE       FALSE             FALSE         FALSE FALSE
## 50         FALSE       FALSE             FALSE         FALSE FALSE
## 51         FALSE       FALSE             FALSE         FALSE FALSE
## 52         FALSE       FALSE             FALSE         FALSE FALSE
## 53         FALSE       FALSE             FALSE         FALSE FALSE
## 54         FALSE       FALSE             FALSE         FALSE FALSE
## 55         FALSE       FALSE             FALSE         FALSE FALSE
## 56         FALSE       FALSE             FALSE         FALSE FALSE
## 57         FALSE       FALSE             FALSE         FALSE FALSE
## 58         FALSE       FALSE             FALSE         FALSE FALSE
## 59         FALSE       FALSE             FALSE         FALSE FALSE
## 60         FALSE       FALSE             FALSE         FALSE FALSE
## 61         FALSE       FALSE             FALSE         FALSE FALSE
## 62         FALSE       FALSE             FALSE         FALSE FALSE
## 63         FALSE       FALSE             FALSE         FALSE FALSE
## 64         FALSE       FALSE             FALSE         FALSE FALSE
## 65         FALSE       FALSE             FALSE         FALSE FALSE
## 66         FALSE       FALSE             FALSE         FALSE FALSE
## 67         FALSE       FALSE             FALSE         FALSE FALSE
## 68         FALSE       FALSE             FALSE         FALSE FALSE
## 69         FALSE       FALSE             FALSE         FALSE FALSE
## 70         FALSE       FALSE             FALSE         FALSE FALSE
## 71         FALSE       FALSE             FALSE         FALSE FALSE
## 72         FALSE       FALSE             FALSE         FALSE FALSE
## 73         FALSE       FALSE             FALSE         FALSE FALSE
## 74         FALSE       FALSE             FALSE         FALSE FALSE
## 75         FALSE       FALSE             FALSE         FALSE FALSE
## 76         FALSE       FALSE             FALSE         FALSE FALSE
## 77         FALSE       FALSE             FALSE         FALSE FALSE
## 78         FALSE       FALSE             FALSE         FALSE FALSE
## 79         FALSE       FALSE             FALSE         FALSE FALSE
## 80         FALSE       FALSE             FALSE         FALSE FALSE
## 81         FALSE       FALSE             FALSE         FALSE FALSE
## 82         FALSE       FALSE             FALSE         FALSE FALSE
## 83         FALSE       FALSE             FALSE         FALSE FALSE
## 84         FALSE       FALSE             FALSE         FALSE FALSE
## 85         FALSE       FALSE             FALSE         FALSE FALSE
## 86         FALSE       FALSE             FALSE         FALSE FALSE
## 87         FALSE       FALSE             FALSE         FALSE FALSE
## 88         FALSE       FALSE             FALSE         FALSE FALSE
## 89         FALSE       FALSE             FALSE         FALSE FALSE
## 90         FALSE       FALSE             FALSE         FALSE FALSE
## 91         FALSE       FALSE             FALSE         FALSE FALSE
## 92         FALSE       FALSE             FALSE         FALSE FALSE
## 93         FALSE       FALSE             FALSE         FALSE FALSE
## 94         FALSE       FALSE             FALSE         FALSE FALSE
## 95         FALSE       FALSE             FALSE         FALSE FALSE
## 96         FALSE       FALSE             FALSE         FALSE FALSE
## 97         FALSE       FALSE             FALSE         FALSE FALSE
## 98         FALSE       FALSE             FALSE         FALSE FALSE
## 99         FALSE       FALSE             FALSE         FALSE FALSE
## 100        FALSE       FALSE             FALSE         FALSE FALSE
## 101        FALSE       FALSE             FALSE         FALSE FALSE
## 102        FALSE       FALSE             FALSE         FALSE FALSE
## 103        FALSE       FALSE             FALSE         FALSE FALSE
## 104        FALSE       FALSE             FALSE         FALSE FALSE
## 105        FALSE       FALSE             FALSE         FALSE FALSE
## 106        FALSE       FALSE             FALSE         FALSE FALSE
## 107        FALSE       FALSE             FALSE         FALSE FALSE
## 108        FALSE       FALSE             FALSE         FALSE FALSE
## 109        FALSE       FALSE             FALSE         FALSE FALSE
## 110        FALSE       FALSE             FALSE         FALSE FALSE
## 111        FALSE       FALSE             FALSE         FALSE FALSE
## 112        FALSE       FALSE             FALSE         FALSE FALSE
## 113        FALSE       FALSE             FALSE         FALSE FALSE
## 114        FALSE       FALSE             FALSE         FALSE FALSE
## 115        FALSE       FALSE             FALSE         FALSE FALSE
## 116        FALSE       FALSE             FALSE         FALSE FALSE
## 117        FALSE       FALSE             FALSE         FALSE FALSE
## 118        FALSE       FALSE             FALSE         FALSE FALSE
## 119        FALSE       FALSE             FALSE         FALSE FALSE
## 120        FALSE       FALSE             FALSE         FALSE FALSE
## 121        FALSE       FALSE             FALSE         FALSE FALSE
## 122        FALSE       FALSE             FALSE         FALSE FALSE
## 123        FALSE       FALSE             FALSE         FALSE FALSE
## 124        FALSE       FALSE             FALSE         FALSE FALSE
## 125        FALSE       FALSE             FALSE         FALSE FALSE
## 126        FALSE       FALSE             FALSE         FALSE FALSE
## 127        FALSE       FALSE             FALSE         FALSE FALSE
## 128        FALSE       FALSE             FALSE         FALSE FALSE
## 129        FALSE       FALSE             FALSE         FALSE FALSE
## 130        FALSE       FALSE             FALSE         FALSE FALSE
## 131        FALSE       FALSE             FALSE         FALSE FALSE
## 132        FALSE       FALSE             FALSE         FALSE FALSE
## 133        FALSE       FALSE             FALSE         FALSE FALSE
## 134        FALSE       FALSE             FALSE         FALSE FALSE
## 135        FALSE       FALSE             FALSE         FALSE FALSE
## 136        FALSE       FALSE             FALSE         FALSE FALSE
## 137        FALSE       FALSE             FALSE         FALSE FALSE
## 138        FALSE       FALSE             FALSE         FALSE FALSE
## 139        FALSE       FALSE             FALSE         FALSE FALSE
## 140        FALSE       FALSE             FALSE         FALSE FALSE
## 141        FALSE       FALSE             FALSE         FALSE FALSE
## 142        FALSE       FALSE             FALSE         FALSE FALSE
## 143        FALSE       FALSE             FALSE         FALSE FALSE
## 144        FALSE       FALSE             FALSE         FALSE FALSE
## 145        FALSE       FALSE             FALSE         FALSE FALSE
## 146        FALSE       FALSE             FALSE         FALSE FALSE
## 147        FALSE       FALSE             FALSE         FALSE FALSE
## 148        FALSE       FALSE             FALSE         FALSE FALSE
## 149        FALSE       FALSE             FALSE         FALSE FALSE
## 150        FALSE       FALSE             FALSE         FALSE FALSE
## 151        FALSE       FALSE             FALSE         FALSE FALSE
## 152        FALSE       FALSE             FALSE         FALSE FALSE
## 153        FALSE       FALSE             FALSE         FALSE FALSE
## 154        FALSE       FALSE             FALSE         FALSE FALSE
## 155        FALSE       FALSE             FALSE         FALSE FALSE
## 156        FALSE       FALSE             FALSE         FALSE FALSE
## 157        FALSE       FALSE             FALSE         FALSE FALSE
## 158        FALSE       FALSE             FALSE         FALSE FALSE
## 159        FALSE       FALSE             FALSE         FALSE FALSE
## 160        FALSE       FALSE             FALSE         FALSE FALSE
## 161        FALSE       FALSE             FALSE         FALSE FALSE
## 162        FALSE       FALSE             FALSE         FALSE FALSE
## 163        FALSE       FALSE             FALSE         FALSE FALSE
## 164        FALSE       FALSE             FALSE         FALSE FALSE
## 165        FALSE       FALSE             FALSE         FALSE FALSE
## 166        FALSE       FALSE             FALSE         FALSE FALSE
## 167        FALSE       FALSE             FALSE         FALSE FALSE
## 168        FALSE       FALSE             FALSE         FALSE FALSE
## 169        FALSE       FALSE             FALSE         FALSE FALSE
## 170        FALSE       FALSE             FALSE         FALSE FALSE
## 171        FALSE       FALSE             FALSE         FALSE FALSE
## 172        FALSE       FALSE             FALSE         FALSE FALSE
## 173        FALSE       FALSE             FALSE         FALSE FALSE
## 174        FALSE       FALSE             FALSE         FALSE FALSE
## 175        FALSE       FALSE             FALSE         FALSE FALSE
## 176        FALSE       FALSE             FALSE         FALSE FALSE
## 177        FALSE       FALSE             FALSE         FALSE FALSE
## 178        FALSE       FALSE             FALSE         FALSE FALSE
## 179        FALSE       FALSE             FALSE         FALSE FALSE
## 180        FALSE       FALSE             FALSE         FALSE FALSE
## 181        FALSE       FALSE             FALSE         FALSE FALSE
## 182        FALSE       FALSE             FALSE         FALSE FALSE
## 183        FALSE       FALSE             FALSE         FALSE FALSE
## 184        FALSE       FALSE             FALSE         FALSE FALSE
## 185        FALSE       FALSE             FALSE         FALSE FALSE
## 186        FALSE       FALSE             FALSE         FALSE FALSE
## 187        FALSE       FALSE             FALSE         FALSE FALSE
## 188        FALSE       FALSE             FALSE         FALSE FALSE
## 189        FALSE       FALSE             FALSE         FALSE FALSE
## 190        FALSE       FALSE             FALSE         FALSE FALSE
## 191        FALSE       FALSE             FALSE         FALSE FALSE
## 192        FALSE       FALSE             FALSE         FALSE FALSE
## 193        FALSE       FALSE             FALSE         FALSE FALSE
## 194        FALSE       FALSE             FALSE         FALSE FALSE
## 195        FALSE       FALSE             FALSE         FALSE FALSE
## 196        FALSE       FALSE             FALSE         FALSE FALSE
## 197        FALSE       FALSE             FALSE         FALSE FALSE
## 198        FALSE       FALSE             FALSE         FALSE FALSE
## 199        FALSE       FALSE             FALSE         FALSE FALSE
## 200        FALSE       FALSE             FALSE         FALSE FALSE
## 201        FALSE       FALSE             FALSE         FALSE FALSE
## 202        FALSE       FALSE             FALSE         FALSE FALSE
## 203        FALSE       FALSE             FALSE         FALSE FALSE
## 204        FALSE       FALSE             FALSE         FALSE FALSE
## 205        FALSE       FALSE             FALSE         FALSE FALSE
## 206        FALSE       FALSE             FALSE         FALSE FALSE
## 207        FALSE       FALSE             FALSE         FALSE FALSE
## 208        FALSE       FALSE             FALSE         FALSE FALSE
## 209        FALSE       FALSE             FALSE         FALSE FALSE
## 210        FALSE       FALSE             FALSE         FALSE FALSE
## 211        FALSE       FALSE             FALSE         FALSE FALSE
## 212        FALSE       FALSE             FALSE         FALSE FALSE
## 213        FALSE       FALSE             FALSE         FALSE FALSE
## 214        FALSE       FALSE             FALSE         FALSE FALSE
## 215        FALSE       FALSE             FALSE         FALSE FALSE
## 216        FALSE       FALSE             FALSE         FALSE FALSE
## 217        FALSE       FALSE             FALSE         FALSE FALSE
## 218        FALSE       FALSE             FALSE         FALSE FALSE
## 219        FALSE       FALSE             FALSE         FALSE FALSE
## 220        FALSE       FALSE             FALSE         FALSE FALSE
## 221        FALSE       FALSE             FALSE         FALSE FALSE
## 222        FALSE       FALSE             FALSE         FALSE FALSE
## 223        FALSE       FALSE             FALSE         FALSE FALSE
## 224        FALSE       FALSE             FALSE         FALSE FALSE
## 225        FALSE       FALSE             FALSE         FALSE FALSE
## 226        FALSE       FALSE             FALSE         FALSE FALSE
## 227        FALSE       FALSE             FALSE         FALSE FALSE
## 228        FALSE       FALSE             FALSE         FALSE FALSE
## 229        FALSE       FALSE             FALSE         FALSE FALSE
## 230        FALSE       FALSE             FALSE         FALSE FALSE
## 231        FALSE       FALSE             FALSE         FALSE FALSE
## 232        FALSE       FALSE             FALSE         FALSE FALSE
## 233        FALSE       FALSE             FALSE         FALSE FALSE
## 234        FALSE       FALSE             FALSE         FALSE FALSE
## 235        FALSE       FALSE             FALSE         FALSE FALSE
## 236        FALSE       FALSE             FALSE         FALSE FALSE
## 237        FALSE       FALSE             FALSE         FALSE FALSE
## 238        FALSE       FALSE             FALSE         FALSE FALSE
## 239        FALSE       FALSE             FALSE         FALSE FALSE
## 240        FALSE       FALSE             FALSE         FALSE FALSE
## 241        FALSE       FALSE             FALSE         FALSE FALSE
## 242        FALSE       FALSE             FALSE         FALSE FALSE
## 243        FALSE       FALSE             FALSE         FALSE FALSE
## 244        FALSE       FALSE             FALSE         FALSE FALSE
## 245        FALSE       FALSE             FALSE         FALSE FALSE
## 246        FALSE       FALSE             FALSE         FALSE FALSE
## 247        FALSE       FALSE             FALSE         FALSE FALSE
## 248        FALSE       FALSE             FALSE         FALSE FALSE
## 249        FALSE       FALSE             FALSE         FALSE FALSE
## 250        FALSE       FALSE             FALSE         FALSE FALSE
## 251        FALSE       FALSE             FALSE         FALSE FALSE
## 252        FALSE       FALSE             FALSE         FALSE FALSE
## 253        FALSE       FALSE             FALSE         FALSE FALSE
## 254        FALSE       FALSE             FALSE         FALSE FALSE
## 255        FALSE       FALSE             FALSE         FALSE FALSE
## 256        FALSE       FALSE             FALSE         FALSE FALSE
## 257        FALSE       FALSE             FALSE         FALSE FALSE
## 258        FALSE       FALSE             FALSE         FALSE FALSE
## 259        FALSE       FALSE             FALSE         FALSE FALSE
## 260        FALSE       FALSE             FALSE         FALSE FALSE
## 261        FALSE       FALSE             FALSE         FALSE FALSE
## 262        FALSE       FALSE             FALSE         FALSE FALSE
## 263        FALSE       FALSE             FALSE         FALSE FALSE
## 264        FALSE       FALSE             FALSE         FALSE FALSE
## 265        FALSE       FALSE             FALSE         FALSE FALSE
## 266        FALSE       FALSE             FALSE         FALSE FALSE
## 267        FALSE       FALSE             FALSE         FALSE FALSE
## 268        FALSE       FALSE             FALSE         FALSE FALSE
## 269        FALSE       FALSE             FALSE         FALSE FALSE
## 270        FALSE       FALSE             FALSE         FALSE FALSE
## 271        FALSE       FALSE             FALSE         FALSE FALSE
## 272        FALSE       FALSE             FALSE         FALSE FALSE
## 273        FALSE       FALSE             FALSE         FALSE FALSE
## 274        FALSE       FALSE             FALSE         FALSE FALSE
## 275        FALSE       FALSE             FALSE         FALSE FALSE
## 276        FALSE       FALSE             FALSE         FALSE FALSE
## 277        FALSE       FALSE             FALSE         FALSE FALSE
## 278        FALSE       FALSE             FALSE         FALSE FALSE
## 279        FALSE       FALSE             FALSE         FALSE FALSE
## 280        FALSE       FALSE             FALSE         FALSE FALSE
## 281        FALSE       FALSE             FALSE         FALSE FALSE
## 282        FALSE       FALSE             FALSE         FALSE FALSE
## 283        FALSE       FALSE             FALSE         FALSE FALSE
## 284        FALSE       FALSE             FALSE         FALSE FALSE
## 285        FALSE       FALSE             FALSE         FALSE FALSE
## 286        FALSE       FALSE             FALSE         FALSE FALSE
## 287        FALSE       FALSE             FALSE         FALSE FALSE
## 288        FALSE       FALSE             FALSE         FALSE FALSE
## 289        FALSE       FALSE             FALSE         FALSE FALSE
## 290        FALSE       FALSE             FALSE         FALSE FALSE
## 291        FALSE       FALSE             FALSE         FALSE FALSE
## 292        FALSE       FALSE             FALSE         FALSE FALSE
## 293        FALSE       FALSE             FALSE         FALSE FALSE
## 294        FALSE       FALSE             FALSE         FALSE FALSE
## 295        FALSE       FALSE             FALSE         FALSE FALSE
## 296        FALSE       FALSE             FALSE         FALSE FALSE
## 297        FALSE       FALSE             FALSE         FALSE FALSE
## 298        FALSE       FALSE             FALSE         FALSE FALSE
## 299        FALSE       FALSE             FALSE         FALSE FALSE
## 300        FALSE       FALSE             FALSE         FALSE FALSE
## 301        FALSE       FALSE             FALSE         FALSE FALSE
## 302        FALSE       FALSE             FALSE         FALSE FALSE
## 303        FALSE       FALSE             FALSE         FALSE FALSE
## 304        FALSE       FALSE             FALSE         FALSE FALSE
## 305        FALSE       FALSE             FALSE         FALSE FALSE
## 306        FALSE       FALSE             FALSE         FALSE FALSE
## 307        FALSE       FALSE             FALSE         FALSE FALSE
## 308        FALSE       FALSE             FALSE         FALSE FALSE
## 309        FALSE       FALSE             FALSE         FALSE FALSE
## 310        FALSE       FALSE             FALSE         FALSE FALSE
## 311        FALSE       FALSE             FALSE         FALSE FALSE
## 312        FALSE       FALSE             FALSE         FALSE FALSE
## 313        FALSE       FALSE             FALSE         FALSE FALSE
## 314        FALSE       FALSE             FALSE         FALSE FALSE
## 315        FALSE       FALSE             FALSE         FALSE FALSE
## 316        FALSE       FALSE             FALSE         FALSE FALSE
## 317        FALSE       FALSE             FALSE         FALSE FALSE
## 318        FALSE       FALSE             FALSE         FALSE FALSE
## 319        FALSE       FALSE             FALSE         FALSE FALSE
## 320        FALSE       FALSE             FALSE         FALSE FALSE
## 321        FALSE       FALSE             FALSE         FALSE FALSE
## 322        FALSE       FALSE             FALSE         FALSE FALSE
## 323        FALSE       FALSE             FALSE         FALSE FALSE
## 324        FALSE       FALSE             FALSE         FALSE FALSE
## 325        FALSE       FALSE             FALSE         FALSE FALSE
## 326        FALSE       FALSE             FALSE         FALSE FALSE
## 327        FALSE       FALSE             FALSE         FALSE FALSE
## 328        FALSE       FALSE             FALSE         FALSE FALSE
## 329        FALSE       FALSE             FALSE         FALSE FALSE
## 330        FALSE       FALSE             FALSE         FALSE FALSE
## 331        FALSE       FALSE             FALSE         FALSE FALSE
## 332        FALSE       FALSE             FALSE         FALSE FALSE
## 333        FALSE       FALSE             FALSE         FALSE FALSE
## 334        FALSE       FALSE             FALSE         FALSE FALSE
## 335        FALSE       FALSE             FALSE         FALSE FALSE
## 336        FALSE       FALSE             FALSE         FALSE FALSE
## 337        FALSE       FALSE             FALSE         FALSE FALSE
## 338        FALSE       FALSE             FALSE         FALSE FALSE
## 339        FALSE       FALSE             FALSE         FALSE FALSE
## 340        FALSE       FALSE             FALSE         FALSE FALSE
## 341        FALSE       FALSE             FALSE         FALSE FALSE
## 342        FALSE       FALSE             FALSE         FALSE FALSE
## 343        FALSE       FALSE             FALSE         FALSE FALSE
## 344        FALSE       FALSE             FALSE         FALSE FALSE
## 345        FALSE       FALSE             FALSE         FALSE FALSE
## 346        FALSE       FALSE             FALSE         FALSE FALSE
## 347        FALSE       FALSE             FALSE         FALSE FALSE
## 348        FALSE       FALSE             FALSE         FALSE FALSE
## 349        FALSE       FALSE             FALSE         FALSE FALSE
## 350        FALSE       FALSE             FALSE         FALSE FALSE
## 351        FALSE       FALSE             FALSE         FALSE FALSE
## 352        FALSE       FALSE             FALSE         FALSE FALSE
## 353        FALSE       FALSE             FALSE         FALSE FALSE
## 354        FALSE       FALSE             FALSE         FALSE FALSE
## 355        FALSE       FALSE             FALSE         FALSE FALSE
## 356        FALSE       FALSE             FALSE         FALSE FALSE
## 357        FALSE       FALSE             FALSE         FALSE FALSE
## 358        FALSE       FALSE             FALSE         FALSE FALSE
## 359        FALSE       FALSE             FALSE         FALSE FALSE
## 360        FALSE       FALSE             FALSE         FALSE FALSE
## 361        FALSE       FALSE             FALSE         FALSE FALSE
## 362        FALSE       FALSE             FALSE         FALSE FALSE
## 363        FALSE       FALSE             FALSE         FALSE FALSE
## 364        FALSE       FALSE             FALSE         FALSE FALSE
## 365        FALSE       FALSE             FALSE         FALSE FALSE
## 366        FALSE       FALSE             FALSE         FALSE FALSE
## 367        FALSE       FALSE             FALSE         FALSE FALSE
## 368        FALSE       FALSE             FALSE         FALSE FALSE
## 369        FALSE       FALSE             FALSE         FALSE FALSE
## 370        FALSE       FALSE             FALSE         FALSE FALSE
## 371        FALSE       FALSE             FALSE         FALSE FALSE
## 372        FALSE       FALSE             FALSE         FALSE FALSE
## 373        FALSE       FALSE             FALSE         FALSE FALSE
## 374        FALSE       FALSE             FALSE         FALSE FALSE
## 375        FALSE       FALSE             FALSE         FALSE FALSE
## 376        FALSE       FALSE             FALSE         FALSE FALSE
## 377        FALSE       FALSE             FALSE         FALSE FALSE
## 378        FALSE       FALSE             FALSE         FALSE FALSE
## 379        FALSE       FALSE             FALSE         FALSE FALSE
## 380        FALSE       FALSE             FALSE         FALSE FALSE
## 381        FALSE       FALSE             FALSE         FALSE FALSE
## 382        FALSE       FALSE             FALSE         FALSE FALSE
## 383        FALSE       FALSE             FALSE         FALSE FALSE
## 384        FALSE       FALSE             FALSE         FALSE FALSE
## 385        FALSE       FALSE             FALSE         FALSE FALSE
## 386        FALSE       FALSE             FALSE         FALSE FALSE
## 387        FALSE       FALSE             FALSE         FALSE FALSE
## 388        FALSE       FALSE             FALSE         FALSE FALSE
## 389        FALSE       FALSE             FALSE         FALSE FALSE
## 390        FALSE       FALSE             FALSE         FALSE FALSE
## 391        FALSE       FALSE             FALSE         FALSE FALSE
## 392        FALSE       FALSE             FALSE         FALSE FALSE
## 393        FALSE       FALSE             FALSE         FALSE FALSE
## 394        FALSE       FALSE             FALSE         FALSE FALSE
## 395        FALSE       FALSE             FALSE         FALSE FALSE
## 396        FALSE       FALSE             FALSE         FALSE FALSE
## 397        FALSE       FALSE             FALSE         FALSE FALSE
## 398        FALSE       FALSE             FALSE         FALSE FALSE
## 399        FALSE       FALSE             FALSE         FALSE FALSE
## 400        FALSE       FALSE             FALSE         FALSE FALSE
## 401        FALSE       FALSE             FALSE         FALSE FALSE
## 402        FALSE       FALSE             FALSE         FALSE FALSE
## 403        FALSE       FALSE             FALSE         FALSE FALSE
## 404        FALSE       FALSE             FALSE         FALSE FALSE
## 405        FALSE       FALSE             FALSE         FALSE FALSE
## 406        FALSE       FALSE             FALSE         FALSE FALSE
## 407        FALSE       FALSE             FALSE         FALSE FALSE
## 408        FALSE       FALSE             FALSE         FALSE FALSE
## 409        FALSE       FALSE             FALSE         FALSE FALSE
## 410        FALSE       FALSE             FALSE         FALSE FALSE
## 411        FALSE       FALSE             FALSE         FALSE FALSE
## 412        FALSE       FALSE             FALSE         FALSE FALSE
## 413        FALSE       FALSE             FALSE         FALSE FALSE
## 414        FALSE       FALSE             FALSE         FALSE FALSE
## 415        FALSE       FALSE             FALSE         FALSE FALSE
## 416        FALSE       FALSE             FALSE         FALSE FALSE
## 417        FALSE       FALSE             FALSE         FALSE FALSE
## 418        FALSE       FALSE             FALSE         FALSE FALSE
## 419        FALSE       FALSE             FALSE         FALSE FALSE
## 420        FALSE       FALSE             FALSE         FALSE FALSE
## 421        FALSE       FALSE             FALSE         FALSE FALSE
## 422        FALSE       FALSE             FALSE         FALSE FALSE
## 423        FALSE       FALSE             FALSE         FALSE FALSE
## 424        FALSE       FALSE             FALSE         FALSE FALSE
## 425        FALSE       FALSE             FALSE         FALSE FALSE
## 426        FALSE       FALSE             FALSE         FALSE FALSE
## 427        FALSE       FALSE             FALSE         FALSE FALSE
## 428        FALSE       FALSE             FALSE         FALSE FALSE
## 429        FALSE       FALSE             FALSE         FALSE FALSE
## 430        FALSE       FALSE             FALSE         FALSE FALSE
## 431        FALSE       FALSE             FALSE         FALSE FALSE
## 432        FALSE       FALSE             FALSE         FALSE FALSE
## 433        FALSE       FALSE             FALSE         FALSE FALSE
## 434        FALSE       FALSE             FALSE         FALSE FALSE
## 435        FALSE       FALSE             FALSE         FALSE FALSE
## 436        FALSE       FALSE             FALSE         FALSE FALSE
## 437        FALSE       FALSE             FALSE         FALSE FALSE
## 438        FALSE       FALSE             FALSE         FALSE FALSE
## 439        FALSE       FALSE             FALSE         FALSE FALSE
## 440        FALSE       FALSE             FALSE         FALSE FALSE
## 441        FALSE       FALSE             FALSE         FALSE FALSE
## 442        FALSE       FALSE             FALSE         FALSE FALSE
## 443        FALSE       FALSE             FALSE         FALSE FALSE
## 444        FALSE       FALSE             FALSE         FALSE FALSE
## 445        FALSE       FALSE             FALSE         FALSE FALSE
## 446        FALSE       FALSE             FALSE         FALSE FALSE
## 447        FALSE       FALSE             FALSE         FALSE FALSE
## 448        FALSE       FALSE             FALSE         FALSE FALSE
## 449        FALSE       FALSE             FALSE         FALSE FALSE
## 450        FALSE       FALSE             FALSE         FALSE FALSE
## 451        FALSE       FALSE             FALSE         FALSE FALSE
## 452        FALSE       FALSE             FALSE         FALSE FALSE
## 453        FALSE       FALSE             FALSE         FALSE FALSE
## 454        FALSE       FALSE             FALSE         FALSE FALSE
## 455        FALSE       FALSE             FALSE         FALSE FALSE
## 456        FALSE       FALSE             FALSE         FALSE FALSE
## 457        FALSE       FALSE             FALSE         FALSE FALSE
## 458        FALSE       FALSE             FALSE         FALSE FALSE
## 459        FALSE       FALSE             FALSE         FALSE FALSE
## 460        FALSE       FALSE             FALSE         FALSE FALSE
## 461        FALSE       FALSE             FALSE         FALSE FALSE
## 462        FALSE       FALSE             FALSE         FALSE FALSE
## 463        FALSE       FALSE             FALSE         FALSE FALSE
## 464        FALSE       FALSE             FALSE         FALSE FALSE
## 465        FALSE       FALSE             FALSE         FALSE FALSE
## 466        FALSE       FALSE             FALSE         FALSE FALSE
## 467        FALSE       FALSE             FALSE         FALSE FALSE
## 468        FALSE       FALSE             FALSE         FALSE FALSE
## 469        FALSE       FALSE             FALSE         FALSE FALSE
## 470        FALSE       FALSE             FALSE         FALSE FALSE
## 471        FALSE       FALSE             FALSE         FALSE FALSE
## 472        FALSE       FALSE             FALSE         FALSE FALSE
## 473        FALSE       FALSE             FALSE         FALSE FALSE
## 474        FALSE       FALSE             FALSE         FALSE FALSE
## 475        FALSE       FALSE             FALSE         FALSE FALSE
## 476        FALSE       FALSE             FALSE         FALSE FALSE
## 477        FALSE       FALSE             FALSE         FALSE FALSE
## 478        FALSE       FALSE             FALSE         FALSE FALSE
## 479        FALSE       FALSE             FALSE         FALSE FALSE
## 480        FALSE       FALSE             FALSE         FALSE FALSE
## 481        FALSE       FALSE             FALSE         FALSE FALSE
## 482        FALSE       FALSE             FALSE         FALSE FALSE
## 483        FALSE       FALSE             FALSE         FALSE FALSE
## 484        FALSE       FALSE             FALSE         FALSE FALSE
## 485        FALSE       FALSE             FALSE         FALSE FALSE
## 486        FALSE       FALSE             FALSE         FALSE FALSE
## 487        FALSE       FALSE             FALSE         FALSE FALSE
## 488        FALSE       FALSE             FALSE         FALSE FALSE
## 489        FALSE       FALSE             FALSE         FALSE FALSE
## 490        FALSE       FALSE             FALSE         FALSE FALSE
## 491        FALSE       FALSE             FALSE         FALSE FALSE
## 492        FALSE       FALSE             FALSE         FALSE FALSE
## 493        FALSE       FALSE             FALSE         FALSE FALSE
## 494        FALSE       FALSE             FALSE         FALSE FALSE
## 495        FALSE       FALSE             FALSE         FALSE FALSE
## 496        FALSE       FALSE             FALSE         FALSE FALSE
## 497        FALSE       FALSE             FALSE         FALSE FALSE
## 498        FALSE       FALSE             FALSE         FALSE FALSE
## 499        FALSE       FALSE             FALSE         FALSE FALSE
## 500        FALSE       FALSE             FALSE         FALSE FALSE
## 501        FALSE       FALSE             FALSE         FALSE FALSE
## 502        FALSE       FALSE             FALSE         FALSE FALSE
## 503        FALSE       FALSE             FALSE         FALSE FALSE
## 504        FALSE       FALSE             FALSE         FALSE FALSE
##     Period.of.stay Traveler.type  Pool   Gym Tennis.court   Spa Casino
## 1            FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 2            FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 3            FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 4            FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 5            FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 6            FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 7            FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 8            FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 9            FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 10           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 11           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 12           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 13           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 14           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 15           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 16           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 17           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 18           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 19           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 20           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 21           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 22           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 23           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 24           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 25           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 26           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 27           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 28           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 29           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 30           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 31           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 32           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 33           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 34           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 35           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 36           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 37           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 38           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 39           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 40           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 41           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 42           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 43           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 44           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 45           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 46           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 47           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 48           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 49           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 50           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 51           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 52           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 53           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 54           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 55           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 56           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 57           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 58           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 59           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 60           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 61           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 62           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 63           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 64           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 65           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 66           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 67           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 68           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 69           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 70           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 71           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 72           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 73           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 74           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 75           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 76           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 77           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 78           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 79           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 80           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 81           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 82           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 83           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 84           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 85           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 86           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 87           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 88           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 89           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 90           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 91           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 92           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 93           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 94           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 95           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 96           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 97           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 98           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 99           FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 100          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 101          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 102          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 103          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 104          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 105          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 106          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 107          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 108          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 109          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 110          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 111          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 112          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 113          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 114          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 115          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 116          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 117          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 118          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 119          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 120          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 121          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 122          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 123          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 124          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 125          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 126          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 127          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 128          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 129          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 130          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 131          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 132          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 133          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 134          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 135          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 136          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 137          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 138          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 139          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 140          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 141          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 142          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 143          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 144          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 145          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 146          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 147          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 148          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 149          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 150          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 151          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 152          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 153          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 154          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 155          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 156          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 157          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 158          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 159          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 160          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 161          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 162          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 163          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 164          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 165          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 166          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 167          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 168          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 169          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 170          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 171          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 172          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 173          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 174          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 175          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 176          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 177          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 178          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 179          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 180          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 181          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 182          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 183          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 184          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 185          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 186          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 187          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 188          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 189          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 190          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 191          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 192          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 193          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 194          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 195          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 196          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 197          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 198          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 199          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 200          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 201          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 202          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 203          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 204          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 205          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 206          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 207          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 208          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 209          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 210          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 211          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 212          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 213          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 214          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 215          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 216          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 217          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 218          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 219          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 220          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 221          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 222          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 223          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 224          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 225          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 226          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 227          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 228          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 229          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 230          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 231          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 232          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 233          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 234          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 235          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 236          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 237          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 238          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 239          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 240          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 241          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 242          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 243          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 244          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 245          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 246          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 247          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 248          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 249          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 250          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 251          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 252          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 253          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 254          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 255          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 256          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 257          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 258          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 259          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 260          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 261          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 262          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 263          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 264          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 265          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 266          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 267          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 268          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 269          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 270          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 271          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 272          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 273          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 274          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 275          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 276          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 277          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 278          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 279          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 280          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 281          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 282          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 283          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 284          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 285          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 286          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 287          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 288          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 289          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 290          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 291          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 292          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 293          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 294          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 295          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 296          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 297          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 298          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 299          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 300          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 301          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 302          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 303          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 304          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 305          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 306          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 307          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 308          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 309          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 310          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 311          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 312          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 313          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 314          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 315          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 316          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 317          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 318          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 319          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 320          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 321          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 322          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 323          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 324          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 325          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 326          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 327          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 328          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 329          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 330          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 331          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 332          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 333          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 334          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 335          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 336          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 337          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 338          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 339          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 340          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 341          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 342          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 343          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 344          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 345          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 346          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 347          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 348          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 349          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 350          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 351          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 352          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 353          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 354          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 355          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 356          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 357          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 358          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 359          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 360          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 361          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 362          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 363          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 364          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 365          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 366          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 367          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 368          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 369          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 370          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 371          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 372          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 373          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 374          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 375          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 376          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 377          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 378          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 379          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 380          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 381          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 382          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 383          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 384          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 385          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 386          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 387          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 388          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 389          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 390          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 391          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 392          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 393          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 394          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 395          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 396          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 397          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 398          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 399          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 400          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 401          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 402          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 403          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 404          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 405          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 406          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 407          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 408          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 409          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 410          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 411          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 412          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 413          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 414          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 415          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 416          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 417          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 418          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 419          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 420          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 421          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 422          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 423          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 424          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 425          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 426          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 427          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 428          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 429          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 430          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 431          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 432          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 433          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 434          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 435          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 436          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 437          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 438          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 439          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 440          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 441          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 442          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 443          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 444          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 445          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 446          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 447          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 448          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 449          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 450          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 451          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 452          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 453          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 454          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 455          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 456          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 457          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 458          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 459          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 460          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 461          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 462          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 463          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 464          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 465          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 466          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 467          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 468          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 469          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 470          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 471          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 472          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 473          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 474          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 475          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 476          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 477          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 478          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 479          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 480          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 481          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 482          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 483          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 484          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 485          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 486          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 487          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 488          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 489          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 490          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 491          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 492          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 493          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 494          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 495          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 496          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 497          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 498          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 499          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 500          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 501          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 502          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 503          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
## 504          FALSE         FALSE FALSE FALSE        FALSE FALSE  FALSE
##     Free.internet Hotel.name Hotel.stars Nr..rooms User.continent Member.years
## 1           FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 2           FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 3           FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 4           FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 5           FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 6           FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 7           FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 8           FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 9           FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 10          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 11          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 12          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 13          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 14          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 15          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 16          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 17          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 18          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 19          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 20          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 21          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 22          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 23          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 24          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 25          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 26          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 27          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 28          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 29          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 30          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 31          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 32          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 33          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 34          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 35          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 36          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 37          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 38          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 39          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 40          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 41          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 42          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 43          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 44          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 45          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 46          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 47          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 48          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 49          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 50          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 51          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 52          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 53          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 54          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 55          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 56          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 57          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 58          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 59          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 60          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 61          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 62          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 63          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 64          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 65          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 66          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 67          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 68          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 69          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 70          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 71          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 72          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 73          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 74          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 75          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 76          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 77          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 78          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 79          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 80          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 81          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 82          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 83          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 84          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 85          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 86          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 87          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 88          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 89          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 90          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 91          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 92          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 93          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 94          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 95          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 96          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 97          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 98          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 99          FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 100         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 101         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 102         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 103         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 104         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 105         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 106         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 107         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 108         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 109         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 110         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 111         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 112         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 113         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 114         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 115         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 116         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 117         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 118         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 119         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 120         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 121         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 122         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 123         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 124         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 125         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 126         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 127         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 128         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 129         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 130         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 131         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 132         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 133         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 134         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 135         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 136         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 137         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 138         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 139         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 140         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 141         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 142         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 143         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 144         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 145         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 146         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 147         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 148         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 149         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 150         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 151         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 152         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 153         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 154         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 155         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 156         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 157         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 158         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 159         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 160         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 161         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 162         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 163         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 164         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 165         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 166         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 167         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 168         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 169         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 170         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 171         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 172         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 173         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 174         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 175         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 176         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 177         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 178         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 179         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 180         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 181         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 182         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 183         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 184         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 185         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 186         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 187         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 188         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 189         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 190         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 191         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 192         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 193         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 194         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 195         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 196         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 197         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 198         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 199         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 200         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 201         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 202         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 203         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 204         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 205         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 206         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 207         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 208         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 209         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 210         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 211         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 212         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 213         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 214         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 215         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 216         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 217         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 218         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 219         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 220         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 221         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 222         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 223         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 224         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 225         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 226         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 227         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 228         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 229         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 230         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 231         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 232         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 233         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 234         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 235         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 236         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 237         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 238         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 239         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 240         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 241         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 242         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 243         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 244         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 245         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 246         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 247         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 248         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 249         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 250         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 251         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 252         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 253         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 254         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 255         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 256         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 257         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 258         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 259         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 260         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 261         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 262         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 263         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 264         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 265         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 266         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 267         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 268         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 269         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 270         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 271         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 272         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 273         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 274         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 275         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 276         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 277         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 278         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 279         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 280         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 281         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 282         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 283         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 284         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 285         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 286         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 287         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 288         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 289         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 290         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 291         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 292         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 293         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 294         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 295         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 296         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 297         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 298         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 299         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 300         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 301         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 302         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 303         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 304         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 305         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 306         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 307         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 308         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 309         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 310         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 311         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 312         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 313         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 314         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 315         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 316         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 317         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 318         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 319         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 320         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 321         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 322         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 323         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 324         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 325         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 326         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 327         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 328         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 329         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 330         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 331         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 332         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 333         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 334         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 335         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 336         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 337         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 338         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 339         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 340         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 341         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 342         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 343         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 344         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 345         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 346         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 347         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 348         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 349         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 350         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 351         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 352         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 353         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 354         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 355         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 356         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 357         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 358         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 359         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 360         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 361         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 362         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 363         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 364         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 365         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 366         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 367         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 368         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 369         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 370         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 371         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 372         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 373         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 374         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 375         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 376         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 377         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 378         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 379         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 380         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 381         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 382         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 383         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 384         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 385         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 386         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 387         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 388         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 389         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 390         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 391         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 392         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 393         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 394         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 395         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 396         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 397         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 398         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 399         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 400         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 401         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 402         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 403         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 404         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 405         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 406         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 407         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 408         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 409         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 410         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 411         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 412         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 413         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 414         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 415         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 416         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 417         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 418         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 419         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 420         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 421         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 422         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 423         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 424         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 425         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 426         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 427         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 428         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 429         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 430         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 431         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 432         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 433         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 434         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 435         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 436         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 437         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 438         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 439         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 440         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 441         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 442         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 443         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 444         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 445         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 446         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 447         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 448         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 449         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 450         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 451         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 452         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 453         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 454         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 455         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 456         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 457         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 458         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 459         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 460         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 461         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 462         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 463         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 464         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 465         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 466         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 467         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 468         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 469         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 470         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 471         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 472         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 473         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 474         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 475         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 476         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 477         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 478         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 479         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 480         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 481         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 482         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 483         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 484         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 485         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 486         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 487         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 488         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 489         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 490         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 491         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 492         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 493         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 494         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 495         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 496         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 497         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 498         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 499         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 500         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 501         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 502         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 503         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
## 504         FALSE      FALSE       FALSE     FALSE          FALSE        FALSE
##     Review.month Review.weekday.
## 1          FALSE           FALSE
## 2          FALSE           FALSE
## 3          FALSE           FALSE
## 4          FALSE           FALSE
## 5          FALSE           FALSE
## 6          FALSE           FALSE
## 7          FALSE           FALSE
## 8          FALSE           FALSE
## 9          FALSE           FALSE
## 10         FALSE           FALSE
## 11         FALSE           FALSE
## 12         FALSE           FALSE
## 13         FALSE           FALSE
## 14         FALSE           FALSE
## 15         FALSE           FALSE
## 16         FALSE           FALSE
## 17         FALSE           FALSE
## 18         FALSE           FALSE
## 19         FALSE           FALSE
## 20         FALSE           FALSE
## 21         FALSE           FALSE
## 22         FALSE           FALSE
## 23         FALSE           FALSE
## 24         FALSE           FALSE
## 25         FALSE           FALSE
## 26         FALSE           FALSE
## 27         FALSE           FALSE
## 28         FALSE           FALSE
## 29         FALSE           FALSE
## 30         FALSE           FALSE
## 31         FALSE           FALSE
## 32         FALSE           FALSE
## 33         FALSE           FALSE
## 34         FALSE           FALSE
## 35         FALSE           FALSE
## 36         FALSE           FALSE
## 37         FALSE           FALSE
## 38         FALSE           FALSE
## 39         FALSE           FALSE
## 40         FALSE           FALSE
## 41         FALSE           FALSE
## 42         FALSE           FALSE
## 43         FALSE           FALSE
## 44         FALSE           FALSE
## 45         FALSE           FALSE
## 46         FALSE           FALSE
## 47         FALSE           FALSE
## 48         FALSE           FALSE
## 49         FALSE           FALSE
## 50         FALSE           FALSE
## 51         FALSE           FALSE
## 52         FALSE           FALSE
## 53         FALSE           FALSE
## 54         FALSE           FALSE
## 55         FALSE           FALSE
## 56         FALSE           FALSE
## 57         FALSE           FALSE
## 58         FALSE           FALSE
## 59         FALSE           FALSE
## 60         FALSE           FALSE
## 61         FALSE           FALSE
## 62         FALSE           FALSE
## 63         FALSE           FALSE
## 64         FALSE           FALSE
## 65         FALSE           FALSE
## 66         FALSE           FALSE
## 67         FALSE           FALSE
## 68         FALSE           FALSE
## 69         FALSE           FALSE
## 70         FALSE           FALSE
## 71         FALSE           FALSE
## 72         FALSE           FALSE
## 73         FALSE           FALSE
## 74         FALSE           FALSE
## 75         FALSE           FALSE
## 76         FALSE           FALSE
## 77         FALSE           FALSE
## 78         FALSE           FALSE
## 79         FALSE           FALSE
## 80         FALSE           FALSE
## 81         FALSE           FALSE
## 82         FALSE           FALSE
## 83         FALSE           FALSE
## 84         FALSE           FALSE
## 85         FALSE           FALSE
## 86         FALSE           FALSE
## 87         FALSE           FALSE
## 88         FALSE           FALSE
## 89         FALSE           FALSE
## 90         FALSE           FALSE
## 91         FALSE           FALSE
## 92         FALSE           FALSE
## 93         FALSE           FALSE
## 94         FALSE           FALSE
## 95         FALSE           FALSE
## 96         FALSE           FALSE
## 97         FALSE           FALSE
## 98         FALSE           FALSE
## 99         FALSE           FALSE
## 100        FALSE           FALSE
## 101        FALSE           FALSE
## 102        FALSE           FALSE
## 103        FALSE           FALSE
## 104        FALSE           FALSE
## 105        FALSE           FALSE
## 106        FALSE           FALSE
## 107        FALSE           FALSE
## 108        FALSE           FALSE
## 109        FALSE           FALSE
## 110        FALSE           FALSE
## 111        FALSE           FALSE
## 112        FALSE           FALSE
## 113        FALSE           FALSE
## 114        FALSE           FALSE
## 115        FALSE           FALSE
## 116        FALSE           FALSE
## 117        FALSE           FALSE
## 118        FALSE           FALSE
## 119        FALSE           FALSE
## 120        FALSE           FALSE
## 121        FALSE           FALSE
## 122        FALSE           FALSE
## 123        FALSE           FALSE
## 124        FALSE           FALSE
## 125        FALSE           FALSE
## 126        FALSE           FALSE
## 127        FALSE           FALSE
## 128        FALSE           FALSE
## 129        FALSE           FALSE
## 130        FALSE           FALSE
## 131        FALSE           FALSE
## 132        FALSE           FALSE
## 133        FALSE           FALSE
## 134        FALSE           FALSE
## 135        FALSE           FALSE
## 136        FALSE           FALSE
## 137        FALSE           FALSE
## 138        FALSE           FALSE
## 139        FALSE           FALSE
## 140        FALSE           FALSE
## 141        FALSE           FALSE
## 142        FALSE           FALSE
## 143        FALSE           FALSE
## 144        FALSE           FALSE
## 145        FALSE           FALSE
## 146        FALSE           FALSE
## 147        FALSE           FALSE
## 148        FALSE           FALSE
## 149        FALSE           FALSE
## 150        FALSE           FALSE
## 151        FALSE           FALSE
## 152        FALSE           FALSE
## 153        FALSE           FALSE
## 154        FALSE           FALSE
## 155        FALSE           FALSE
## 156        FALSE           FALSE
## 157        FALSE           FALSE
## 158        FALSE           FALSE
## 159        FALSE           FALSE
## 160        FALSE           FALSE
## 161        FALSE           FALSE
## 162        FALSE           FALSE
## 163        FALSE           FALSE
## 164        FALSE           FALSE
## 165        FALSE           FALSE
## 166        FALSE           FALSE
## 167        FALSE           FALSE
## 168        FALSE           FALSE
## 169        FALSE           FALSE
## 170        FALSE           FALSE
## 171        FALSE           FALSE
## 172        FALSE           FALSE
## 173        FALSE           FALSE
## 174        FALSE           FALSE
## 175        FALSE           FALSE
## 176        FALSE           FALSE
## 177        FALSE           FALSE
## 178        FALSE           FALSE
## 179        FALSE           FALSE
## 180        FALSE           FALSE
## 181        FALSE           FALSE
## 182        FALSE           FALSE
## 183        FALSE           FALSE
## 184        FALSE           FALSE
## 185        FALSE           FALSE
## 186        FALSE           FALSE
## 187        FALSE           FALSE
## 188        FALSE           FALSE
## 189        FALSE           FALSE
## 190        FALSE           FALSE
## 191        FALSE           FALSE
## 192        FALSE           FALSE
## 193        FALSE           FALSE
## 194        FALSE           FALSE
## 195        FALSE           FALSE
## 196        FALSE           FALSE
## 197        FALSE           FALSE
## 198        FALSE           FALSE
## 199        FALSE           FALSE
## 200        FALSE           FALSE
## 201        FALSE           FALSE
## 202        FALSE           FALSE
## 203        FALSE           FALSE
## 204        FALSE           FALSE
## 205        FALSE           FALSE
## 206        FALSE           FALSE
## 207        FALSE           FALSE
## 208        FALSE           FALSE
## 209        FALSE           FALSE
## 210        FALSE           FALSE
## 211        FALSE           FALSE
## 212        FALSE           FALSE
## 213        FALSE           FALSE
## 214        FALSE           FALSE
## 215        FALSE           FALSE
## 216        FALSE           FALSE
## 217        FALSE           FALSE
## 218        FALSE           FALSE
## 219        FALSE           FALSE
## 220        FALSE           FALSE
## 221        FALSE           FALSE
## 222        FALSE           FALSE
## 223        FALSE           FALSE
## 224        FALSE           FALSE
## 225        FALSE           FALSE
## 226        FALSE           FALSE
## 227        FALSE           FALSE
## 228        FALSE           FALSE
## 229        FALSE           FALSE
## 230        FALSE           FALSE
## 231        FALSE           FALSE
## 232        FALSE           FALSE
## 233        FALSE           FALSE
## 234        FALSE           FALSE
## 235        FALSE           FALSE
## 236        FALSE           FALSE
## 237        FALSE           FALSE
## 238        FALSE           FALSE
## 239        FALSE           FALSE
## 240        FALSE           FALSE
## 241        FALSE           FALSE
## 242        FALSE           FALSE
## 243        FALSE           FALSE
## 244        FALSE           FALSE
## 245        FALSE           FALSE
## 246        FALSE           FALSE
## 247        FALSE           FALSE
## 248        FALSE           FALSE
## 249        FALSE           FALSE
## 250        FALSE           FALSE
## 251        FALSE           FALSE
## 252        FALSE           FALSE
## 253        FALSE           FALSE
## 254        FALSE           FALSE
## 255        FALSE           FALSE
## 256        FALSE           FALSE
## 257        FALSE           FALSE
## 258        FALSE           FALSE
## 259        FALSE           FALSE
## 260        FALSE           FALSE
## 261        FALSE           FALSE
## 262        FALSE           FALSE
## 263        FALSE           FALSE
## 264        FALSE           FALSE
## 265        FALSE           FALSE
## 266        FALSE           FALSE
## 267        FALSE           FALSE
## 268        FALSE           FALSE
## 269        FALSE           FALSE
## 270        FALSE           FALSE
## 271        FALSE           FALSE
## 272        FALSE           FALSE
## 273        FALSE           FALSE
## 274        FALSE           FALSE
## 275        FALSE           FALSE
## 276        FALSE           FALSE
## 277        FALSE           FALSE
## 278        FALSE           FALSE
## 279        FALSE           FALSE
## 280        FALSE           FALSE
## 281        FALSE           FALSE
## 282        FALSE           FALSE
## 283        FALSE           FALSE
## 284        FALSE           FALSE
## 285        FALSE           FALSE
## 286        FALSE           FALSE
## 287        FALSE           FALSE
## 288        FALSE           FALSE
## 289        FALSE           FALSE
## 290        FALSE           FALSE
## 291        FALSE           FALSE
## 292        FALSE           FALSE
## 293        FALSE           FALSE
## 294        FALSE           FALSE
## 295        FALSE           FALSE
## 296        FALSE           FALSE
## 297        FALSE           FALSE
## 298        FALSE           FALSE
## 299        FALSE           FALSE
## 300        FALSE           FALSE
## 301        FALSE           FALSE
## 302        FALSE           FALSE
## 303        FALSE           FALSE
## 304        FALSE           FALSE
## 305        FALSE           FALSE
## 306        FALSE           FALSE
## 307        FALSE           FALSE
## 308        FALSE           FALSE
## 309        FALSE           FALSE
## 310        FALSE           FALSE
## 311        FALSE           FALSE
## 312        FALSE           FALSE
## 313        FALSE           FALSE
## 314        FALSE           FALSE
## 315        FALSE           FALSE
## 316        FALSE           FALSE
## 317        FALSE           FALSE
## 318        FALSE           FALSE
## 319        FALSE           FALSE
## 320        FALSE           FALSE
## 321        FALSE           FALSE
## 322        FALSE           FALSE
## 323        FALSE           FALSE
## 324        FALSE           FALSE
## 325        FALSE           FALSE
## 326        FALSE           FALSE
## 327        FALSE           FALSE
## 328        FALSE           FALSE
## 329        FALSE           FALSE
## 330        FALSE           FALSE
## 331        FALSE           FALSE
## 332        FALSE           FALSE
## 333        FALSE           FALSE
## 334        FALSE           FALSE
## 335        FALSE           FALSE
## 336        FALSE           FALSE
## 337        FALSE           FALSE
## 338        FALSE           FALSE
## 339        FALSE           FALSE
## 340        FALSE           FALSE
## 341        FALSE           FALSE
## 342        FALSE           FALSE
## 343        FALSE           FALSE
## 344        FALSE           FALSE
## 345        FALSE           FALSE
## 346        FALSE           FALSE
## 347        FALSE           FALSE
## 348        FALSE           FALSE
## 349        FALSE           FALSE
## 350        FALSE           FALSE
## 351        FALSE           FALSE
## 352        FALSE           FALSE
## 353        FALSE           FALSE
## 354        FALSE           FALSE
## 355        FALSE           FALSE
## 356        FALSE           FALSE
## 357        FALSE           FALSE
## 358        FALSE           FALSE
## 359        FALSE           FALSE
## 360        FALSE           FALSE
## 361        FALSE           FALSE
## 362        FALSE           FALSE
## 363        FALSE           FALSE
## 364        FALSE           FALSE
## 365        FALSE           FALSE
## 366        FALSE           FALSE
## 367        FALSE           FALSE
## 368        FALSE           FALSE
## 369        FALSE           FALSE
## 370        FALSE           FALSE
## 371        FALSE           FALSE
## 372        FALSE           FALSE
## 373        FALSE           FALSE
## 374        FALSE           FALSE
## 375        FALSE           FALSE
## 376        FALSE           FALSE
## 377        FALSE           FALSE
## 378        FALSE           FALSE
## 379        FALSE           FALSE
## 380        FALSE           FALSE
## 381        FALSE           FALSE
## 382        FALSE           FALSE
## 383        FALSE           FALSE
## 384        FALSE           FALSE
## 385        FALSE           FALSE
## 386        FALSE           FALSE
## 387        FALSE           FALSE
## 388        FALSE           FALSE
## 389        FALSE           FALSE
## 390        FALSE           FALSE
## 391        FALSE           FALSE
## 392        FALSE           FALSE
## 393        FALSE           FALSE
## 394        FALSE           FALSE
## 395        FALSE           FALSE
## 396        FALSE           FALSE
## 397        FALSE           FALSE
## 398        FALSE           FALSE
## 399        FALSE           FALSE
## 400        FALSE           FALSE
## 401        FALSE           FALSE
## 402        FALSE           FALSE
## 403        FALSE           FALSE
## 404        FALSE           FALSE
## 405        FALSE           FALSE
## 406        FALSE           FALSE
## 407        FALSE           FALSE
## 408        FALSE           FALSE
## 409        FALSE           FALSE
## 410        FALSE           FALSE
## 411        FALSE           FALSE
## 412        FALSE           FALSE
## 413        FALSE           FALSE
## 414        FALSE           FALSE
## 415        FALSE           FALSE
## 416        FALSE           FALSE
## 417        FALSE           FALSE
## 418        FALSE           FALSE
## 419        FALSE           FALSE
## 420        FALSE           FALSE
## 421        FALSE           FALSE
## 422        FALSE           FALSE
## 423        FALSE           FALSE
## 424        FALSE           FALSE
## 425        FALSE           FALSE
## 426        FALSE           FALSE
## 427        FALSE           FALSE
## 428        FALSE           FALSE
## 429        FALSE           FALSE
## 430        FALSE           FALSE
## 431        FALSE           FALSE
## 432        FALSE           FALSE
## 433        FALSE           FALSE
## 434        FALSE           FALSE
## 435        FALSE           FALSE
## 436        FALSE           FALSE
## 437        FALSE           FALSE
## 438        FALSE           FALSE
## 439        FALSE           FALSE
## 440        FALSE           FALSE
## 441        FALSE           FALSE
## 442        FALSE           FALSE
## 443        FALSE           FALSE
## 444        FALSE           FALSE
## 445        FALSE           FALSE
## 446        FALSE           FALSE
## 447        FALSE           FALSE
## 448        FALSE           FALSE
## 449        FALSE           FALSE
## 450        FALSE           FALSE
## 451        FALSE           FALSE
## 452        FALSE           FALSE
## 453        FALSE           FALSE
## 454        FALSE           FALSE
## 455        FALSE           FALSE
## 456        FALSE           FALSE
## 457        FALSE           FALSE
## 458        FALSE           FALSE
## 459        FALSE           FALSE
## 460        FALSE           FALSE
## 461        FALSE           FALSE
## 462        FALSE           FALSE
## 463        FALSE           FALSE
## 464        FALSE           FALSE
## 465        FALSE           FALSE
## 466        FALSE           FALSE
## 467        FALSE           FALSE
## 468        FALSE           FALSE
## 469        FALSE           FALSE
## 470        FALSE           FALSE
## 471        FALSE           FALSE
## 472        FALSE           FALSE
## 473        FALSE           FALSE
## 474        FALSE           FALSE
## 475        FALSE           FALSE
## 476        FALSE           FALSE
## 477        FALSE           FALSE
## 478        FALSE           FALSE
## 479        FALSE           FALSE
## 480        FALSE           FALSE
## 481        FALSE           FALSE
## 482        FALSE           FALSE
## 483        FALSE           FALSE
## 484        FALSE           FALSE
## 485        FALSE           FALSE
## 486        FALSE           FALSE
## 487        FALSE           FALSE
## 488        FALSE           FALSE
## 489        FALSE           FALSE
## 490        FALSE           FALSE
## 491        FALSE           FALSE
## 492        FALSE           FALSE
## 493        FALSE           FALSE
## 494        FALSE           FALSE
## 495        FALSE           FALSE
## 496        FALSE           FALSE
## 497        FALSE           FALSE
## 498        FALSE           FALSE
## 499        FALSE           FALSE
## 500        FALSE           FALSE
## 501        FALSE           FALSE
## 502        FALSE           FALSE
## 503        FALSE           FALSE
## 504        FALSE           FALSE
sum(is.na(dataset))
## [1] 0
dataset= dataset[-104,]

(there is no missing data (only one missing data in the row number104 after encoding))

summary(dataset$Nr..reviews)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1.00   12.00   23.00   48.05   54.00  775.00
  1. Number of hotel.reviews
summary(dataset$Nr..hotel.reviews)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    5.00    9.00   16.03   18.00  263.00
  1. Number of Helpful.votes
summary(dataset$Helpful.votes)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    0.00    8.00   16.00   31.61   34.50  365.00
  1. Score
summary(dataset$Score)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.000   4.000   4.000   4.123   5.000   5.000
  1. Hotel.stars
summary(dataset$Hotel.stars)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   3.000   3.500   4.000   4.143   5.000   5.000
  1. Number of Rooms
summary(dataset$Nr..rooms)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     188     826    2700    2198    3025    4027
  1. Member Years
summary(dataset$Member.years)
##       Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
## -1806.0000     2.0000     4.0000     0.7634     6.0000    13.0000

2- pie charts

pie chart for Traveler.type

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
dataset2 <- dataset %>% sample_n(49)
dataset2$Traveler.type %>% table() %>% pie() # plot pie chart without percentages

tab <- dataset2$Traveler.type %>% table()
precentages <- tab %>% prop.table() %>% round(3) * 100 
txt <- paste0(names(tab), '\n', precentages, '%') # text on chart
pie(tab, labels=txt) # plot pie chart

pie chart for Period.of.stay

library(dplyr)
dataset2 <- dataset %>% sample_n(49)
dataset2$Period.of.stay %>% table() %>% pie() # plot pie chart without percentages

tab <- dataset2$Period.of.stay %>% table()
precentages <- tab %>% prop.table() %>% round(3) * 100 
txt <- paste0(names(tab), '\n', precentages, '%') # text on chart
pie(tab, labels=txt) # plot pie chart

this pie chart for class label

from this pie chart we see that the class label is balanced

library(dplyr)
dataset2 <- dataset %>% sample_n(49)
dataset2$Period.of.stay %>% table() %>% pie() # plot pie chart without percentages

tab <- dataset2$Hotel.stars %>% table()
precentages <- tab %>% prop.table() %>% round(3) * 100 
txt <- paste0(names(tab), '\n', precentages, '%') # text on chart

pie(tab, labels=txt) # plot pie chart

-------------------------------------------------------------------------------------------------------------------

Figure Description

[Figure 1: Pie chart represents period of stay]

We took a sample of 50 respondents in the ’ Period of Stay ’ category, and the results are represented in a pie chart. The breakdown of Period of Stay is as follows:

In this sample, the majority was staying from Dec-Feb

•Dec-Feb: 14 respondents (28.6 %)

• Sep-Nov: 9 respondents (18.4%)

• Mar-May: 14 respondents (28.6 %)

• Jun-Aug-May: 12 respondents (24.4 %)

In conclusion we observed distinct trends in reviewers choices of stay periods. Approximately 28.6% of reviewers favored staying in Las Vegas during the winter months, specifically from December to February. This preference for winter occupancy may be influenced by the appeal of holiday vacations, milder weather compared to the scorching summer,comprising 28.6% of reviewers, opted to visit during the

springtime, from March to May, possibly drawn by the pleasant weather, outdoor activities, and spring events in Las Vegas. Conversely, about 24.4% of reviewers chose the period from June to August, highlighting a preference for the vibrant summer atmosphere and outdoor pool experiences. Lastly, 18.4% of reviewers selected the fall months from September to November, indicating an attraction to the autumn ambiance and potential seasonal events.

[Figure 2: Scatter plot represents score of hotels ]

Analyzing a scatter plot that compares hotels based on the number of stars and their scores reveals fascinating insights into the hospitality industry. The y-axis of the scatter plot represents the number of stars awarded to each hotel, ranging from one to five stars. The x-axis displays the hotels’ scores or ratings, reflecting their overall quality and guest satisfaction. In this visual representation, we observe a clear relationship between a hotel’s star rating and the likelihood of it having a swimming pool, with triangles denoting the presence of a swimming pool and circles indicating its absence.

One striking observation is that as the number of stars increases, so does the probability of a hotel featuring a swimming pool. This trend aligns

with the expectations of many travelers who associate higher star ratings with enhanced amenities. Hotels with four or five stars predominantly feature triangles, indicating a strong correlation between luxury and pool availability. As the star rating decreases to three and below, we start to see more circles, suggesting that budget and lower-rated hotels are less likely to have swimming pools.

[Figure 3: Histogram represents the frequency of hotels name]

After analyzing this histogram of hotel visitors, with the x-axis representing hotel names and the y-axis indicating the frequency of visitors, this graphical analysis underscores the diverse popularity levels among hotels. “Hotel 1” takes the lead in terms of visitor frequency, while the remaining hotels show a comparable level. By understanding what sets “Hotel 1” apart and considering strategies for the other hotels to distinguish themselves, the industry can work toward optimizing its appeal to a broader range of visitors and achieving a more balanced distribution of guests across its various hotel

[Figure 4: histogram represents the frequency Nationality of hotel visitors]hotel visitors]

Analyzing a histogram depicting hotel visitors in Las Vegas, where the x- axis symbolizes different countries represented by numbers and the y- axis represents the count of repeat visitors from each country

Notably, the most frequently repeated number is 39, corresponding to the USA. This observation underscores the significance of the domestic market, emphasizing that American visitors form a substantial portion of Las Vegas’ hospitality clientele. The next most prevalent numbers are 1, 2, and 4, signifying Saudi Arabia, the United Kingdom, and India, respectively. This data indicates a considerable influx of visitors from

.these countries

Hotels in Las Vegas can strategically leverage this information to enhance their guest experience and capture the attention of repeat visitors from these countries. Recognizing the cultural diversity and preferences of guests from Saudi Arabia, the United Kingdom, and India, hotels can tailor their services, amenities, and marketing efforts to better accommodate and appeal to these specific demographics. This may include offering cuisine, entertainment, and activities that resonate with the cultural backgrounds of these guests

Boxplot for numerical data:

boxplot(dataset$Nr..reviews)

boxplot(dataset$Nr..hotel.reviews)

boxplot(dataset$Helpful.votes)

boxplot(dataset$Score)

boxplot(dataset$Nr..rooms)

boxplot(dataset$Hotel.stars)

Figure Description
[plotbox represents the distribution and outliers of Nr..reviews] we have a lot of outliers in the number of review but we don’t have to smooth it because it is not a measure for somthing and it could differ from 1 to other number of review
[plotbox represents the distribution and outliers of Nr..hotel.reviews] we have a lot of outliers in the number of hotel review but we don’t have to smooth it because of the same reason as Nr..reviews
[plotbox represents the distribution and outliers of Helpful.votes] we have a lot of outliers in the Helpful.votes but we don’t have to smooth it because of the same reason as Nr..reviews and Nr..hotel.reviews
[plotbox represents the distribution and outliers of Score] 25% of the data lies below or equal to 4 and 75% of the data lies below or equal to 5 so the values are relatively clustered around 4 and 5, with a smaller presence at 1, there are only 2 outliers nedd to be smoothed
[plotbox represents the distribution and outliers of Nr..rooms] we have a lot of outliers in the number of rooms but we don’t have to smooth it because of the same reason as Nr..reviews and Nr..hotel.reviews and Helpful.votes
[plotbox represents the distribution and outliers of Hotel.stars] in the class label, we can see that 50% and less have 4 or less stars and the rest have 5 stars (most of the hotels have 5 stars as the plot illustrated) but there is no outliers to smooth

4. Data preprocessing

Encoding for all the attributes

Data encoding involves converting information like hotel names and locations into numerical codes using the factor function. This simplifies data representation, leading to more efficient storage and faster processing. The use of numerical codes enhances analysis and query performance.

We encode all the attributes except for the ‘Nr rooms’ column, as this column already contains numerical values.

Data before Encoding

Data after Encoding

#encoding
dataset$User.country =factor(dataset$User.country, levels = c("Saudi Arabia", "UK", "Canada", "India", "Australia", "New Zeland", "Ireland", "Egypt", "Finland", "Kenya", "Jordan", "Netherlands", "Syria", "Scotland", "South Africa", "Swiss", "United Arab Emirates", "Hungary", "China", "Greece", "Mexico", "Croatia", "Germany", "Malaysia", "Thailand", "Phillippines", "Israel", "India", "Belgium", "Puerto Rico", "Switzerland", "Norway", "France", "Spain", "Singapore", "Brazil", "Costa Rica", "Iran", "USA", "Honduras", "Denmark", "Taiwan", "Hawaii", "Kuwait", "Czech Republic", "Japan", "Korea", "Italy"),
                          labels =c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48))
#to integer
#dataset$User.country <- as.integer(dataset$User.country)


dataset$Gym =factor(dataset$Gym, levels = c("NO", "YES"), labels = c(0, 1))
dataset$Tennis.court =factor(dataset$Tennis.court, levels = c("NO", "YES"), labels = c(0, 1))

dataset$Spa =factor(dataset$Spa, levels = c("NO", "YES"), labels = c(0, 1))

dataset$Casino =factor(dataset$Casino, levels = c("NO", "YES"), labels = c(0, 1))
dataset$Free.internet =factor(dataset$Free.internet, levels = c("NO", "YES"), labels = c(0, 1))

dataset$Pool =factor(dataset$Pool, levels = c("NO", "YES"), labels = c(0, 1))

dataset$Period.of.stay =factor(dataset$Period.of.stay, levels = c("Dec-Feb", "Mar-May","Jun-Aug","Sep-Nov"), labels = c(1, 2, 3, 4))


dataset$Review.weekday. =factor(dataset$Review.weekday , levels = c("Thursday","Thursday,","Friday","Friday,","Saturday","Saturday,","Tuesday","Tuesday,","Wednesday","Wednesday,","Sunday","Sunday,","Monday","Monday,"), labels = c(0,0,1,1,2,2,3,3,4,4,5,5,6,6))
dataset$Traveler.type =factor(dataset$Traveler.type, levels = c("Friends","Solo","Families","Couples","Business"), labels = c(0,1,2,3,4))

dataset$Hotel.name =factor(dataset$Hotel.name, levels = c("Circus Circus Hotel & Casino Las Vegas","Excalibur Hotel & Casino", "Monte Carlo Resort&Casino", "Treasure Island- TI Hotel & Casino", "Tropicana Las Vegas - A Double Tree by Hilton Hotel", "Caesars Palace", "The Cosmopolitan Las Vegas", "The Palazzo Resort Hotel Casino", "Wynn Las Vegas", "Trump International Hotel Las Vegas", "The Cromwell", "Encore at wynn Las Vegas", "Hilton Grand Vacations on the Boulevard", "Marriott's Grand Chateau", "Tuscany Las Vegas Suites & Casino", "Hilton Grand Vacations at the Flamingo", "Wyndham Grand Desert", "The Venetian Las Vegas Hotel", "Bellagio Las Vegas", "Paris Las Vegas", "The Westin las Vegas Hotel Casino & Spa")
                           , labels = c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20))

dataset$Review.month =factor(dataset$Review.month, levels = c("April","August", "December", "February", "January", "July", "June", "March", "May", "November", "October", "September")
                           , labels = c(0,1,2,3,4,5,6,7,8,9,10,11))

dataset$User.continent=factor(dataset$User.continent, levels=c("North America","Europe","Asia","Oceania","Africa","South America"), labels=c(0,1,2,3,4,5))

3- histograms

2 histograms for User.country and Hotel.name

dataset$User.country <- as.integer(dataset$User.country)
dataset$Hotel.name <- as.integer(dataset$Hotel.name)
hist(dataset$User.country, breaks=48)

hist(dataset$Hotel.name, breaks=20)

4- scatter

with(dataset, plot(Score,Hotel.stars, col = Pool, pch = as.numeric(Pool)))

Data cleaning:

Find outlier and Delete outlier.

Identify the outliers, and remove the corresponding rows. This process aims to refine the dataset, enhancing its accuracy and facilitating more precise results in subsequent analyses.

Data before

finding outliers AND remove outliers

NOTE: RUN THE CODE TWICE WE HAVE TWO OUTLIERS

#outlaier

boxplot(dataset$Member.years)

#This line generates a boxplot to visually inspect the distribution of the "Member.years" column. Boxplots are useful for identifying potential outliers.

library(outliers)
#The code uses the 'outliers' package to detect outliers in the "Member.years" column and stores the logical result in the variable Out.

Out = outlier(dataset$Member.years, logical =TRUE)
sum(Out)
## [1] 1
Find_outlier = which(Out ==TRUE, arr.ind = TRUE)
#sum(Out) calculates the total number of outliers.which(Out == TRUE, arr.ind = TRUE) finds the indices of the outliers.
Out
##   [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [73] FALSE FALSE FALSE  TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [97] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [109] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [133] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [145] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [169] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [181] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [193] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [205] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [217] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [229] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [241] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [253] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [265] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [277] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [289] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [301] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [325] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [337] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [349] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [361] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [373] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [385] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [397] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [409] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [421] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [433] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [445] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [457] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [481] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [493] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Find_outlier
## [1] 76
#Out and Find_outlier display the logical vector and indices of outliers. Outliers are then removed from the dataset using indexing.
#Remove outlier
dataset= dataset[-Find_outlier,]

boxplot(dataset$Member.years)

#This line generates a new boxplot after removing outliers to visualize the updated distribution.

View(dataset)

quantile(dataset$Member.years)
##   0%  25%  50%  75% 100% 
##    0    2    4    6   13
Out = outlier(dataset$Member.years, logical =TRUE)
sum(Out)
## [1] 1
Find_outlier = which(Out ==TRUE, arr.ind = TRUE)
Out
##   [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [13] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [25] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [37] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [49] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [85] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
##  [97] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [109] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [133] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE  TRUE FALSE FALSE
## [145] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [157] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [169] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [181] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [193] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [205] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [217] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [229] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [241] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [253] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [265] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [277] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [289] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [301] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [313] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [325] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [337] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [349] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [361] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [373] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [385] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [397] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [409] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [421] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [433] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [445] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [457] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [469] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [481] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [493] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
Find_outlier
## [1] 142

Normalization

Normalization of hotel “scores” is an essential preprocessing step for our dataset. By bringing all the scores to a standardized scale, typically between 0 and 1, code using both Min-Max and Z-score normalization methods, which can enhance the performance of machine learning algorithms.

Data before normalization

Data after normalization

#normalization
dataWithoutNormalization <- dataset

dataset [, 5] = scale(dataset [, 5])

#Define function normalize().
normalize <- function(x) {return ((x - min(x)) / (max(x) - min(x)))}
#Define function Z_normalize().
Z_normalize <- function(x) {return ((x - mean(x)) / sd(x))}

#Call normalize funcrtion 
dataset$Score<-normalize(dataWithoutNormalization$Score)

preprossing to invert the attrbiute to factors

Inverting attributes to factors is particularly useful when dealing with qualitative or ordinal data, allowing for better interpretation and modeling in certain machine applications.

yes<-dataset
yes$Hotel.stars <- as.factor(yes$Hotel.stars)
yes$Pool <- as.factor(yes$Pool)
yes$Gym <- as.factor(yes$Gym)
yes$Spa <- as.factor(yes$Spa)
yes$Free.internet <- as.factor(yes$Free.internet)
yes$Tennis.court <- as.factor(yes$Tennis.court)
yes$Casino <- as.factor(yes$Casino)

Data before preprossing

Data after preprossing

---------------------------------------------------------------------------------------------------------------------------------------------------------

5. Data Mining Technique:

We applied both supervised and unsupervised to our dataset using classification which is supervised and clustering which is unsupervised techniques.

For classification, we used a decision tree Our model will predict the class label Hotel.stars which is a scale (1,5)

the prediction is made on the rest attributes Pool , Gym , Spa ,Free.internet ,Tennis.court , Casino This technique includes dividing

the dataset into two sets

1-Training dataset: use for train the model

2-Testing dataset: use for evaluate the model accuracy

we tried three different size of partitions to get the best Accuracy

packages for classification:

1-rpart

2-rpart.plot

packages for clustering :

1-factoextra

2-cluster

classification-gini index - 1 (Training 80%, Test 20%)

#install.packages("rpart")
#install.packages("rpart.plot")

library(rpart)
library(rpart.plot)
## Warning: package 'rpart.plot' was built under R version 4.3.2
dataset.H <- yes

set.seed(234)
train1 = sample(1:nrow(dataset.H), 400)
dataset.train1=dataset.H[train1,]
dataset.test1=dataset.H[-train1,]
Hotel.stars.test1=dataset.H[-train1]

fit.tree = rpart(Hotel.stars ~ Pool + Gym + Spa + Free.internet + Tennis.court + Casino , data=dataset.train1, method = "class", cp=0.002)
fit.tree
## n= 400 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##  1) root 400 240 5 (0.19 0.14 0.23 0.035 0.4)  
##    2) Spa=0 87  49 3 (0.44 0.4 0 0.16 0)  
##      4) Gym=1 73  35 3 (0.52 0.48 0 0 0)  
##        8) Pool=0 19   0 3 (1 0 0 0 0) *
##        9) Pool=1 54  19 3.5 (0.35 0.65 0 0 0)  
##         18) Casino=0 34  15 3 (0.56 0.44 0 0 0)  
##           36) Tennis.court=0 19   0 3 (1 0 0 0 0) *
##           37) Tennis.court=1 15   0 3.5 (0 1 0 0 0) *
##         19) Casino=1 20   0 3.5 (0 1 0 0 0) *
##      5) Gym=0 14   0 4.5 (0 0 0 1 0) *
##    3) Spa=1 313 153 5 (0.12 0.073 0.29 0 0.51)  
##      6) Free.internet=0 20   0 4 (0 0 1 0 0) *
##      7) Free.internet=1 293 133 5 (0.13 0.078 0.24 0 0.55)  
##       14) Tennis.court=1 74  37 4 (0.26 0 0.5 0 0.24) *
##       15) Tennis.court=0 219  77 5 (0.091 0.11 0.16 0 0.65) *
rpart.plot(fit.tree)

#try to save it in pdf file to view it clearly
pdf("tree_plot4.pdf", width = 12, height = 8)  
rpart.plot(fit.tree)
dev.off()
## png 
##   2
predictions <- predict(fit.tree, dataset.test1, type = "class")

# Confusion matrix
conf_matrix <- table(predictions, dataset.test1$Hotel.stars)

# Calculate accuracy
accuracy <- sum(diag(conf_matrix)) / sum(conf_matrix)
cat("Accuracy:", accuracy, "\n")
## Accuracy: 0.7058824
#calculate precision
precision <- diag(conf_matrix) / rowSums(conf_matrix)
cat("Precision for each class:", precision, "\n")
## Precision for each class: 1 1 0.5416667 1 0.5777778
cat("Average Precision:", mean(precision), "\n")
## Average Precision: 0.8238889
# Calculate Sensitivity (Recall)
sensitivity <- diag(conf_matrix) / colSums(conf_matrix)
cat("Sensitivity for each class:", sensitivity, "\n")
## Sensitivity for each class: 0.5263158 0.9285714 0.4814815 1 0.8125
cat("Average Sensitivity:", mean(sensitivity), "\n")
## Average Sensitivity: 0.7497737
# Calculate Specificity
specificity <- NULL
for (i in 1:ncol(conf_matrix)) {
  temp <- conf_matrix[-i, -i]
  specificity <- c(specificity, sum(diag(temp)) / sum(temp))
}
cat("Specificity for each class:", specificity, "\n")
## Specificity for each class: 0.746988 0.6704545 0.921875 0.673913 0.9019608
cat("Average Specificity:", mean(specificity), "\n")
## Average Specificity: 0.7830383
# Display confusion matrix
print(conf_matrix)
##            
## predictions  3 3.5  4 4.5  5
##         3   10   0  0   0  0
##         3.5  0  13  0   0  0
##         4    5   0 13   0  6
##         4.5  0   0  0  10  0
##         5    4   1 14   0 26

The decision tree in the image is a classification model that predicts hotel star ratings based on amenities such as a spa, gym, free internet, pool, casino, and tennis court. It’s created using the Gini index method, which is a measure of statistical dispersion intended to represent the inequality or purity among the values of a frequency distribution In the context of decision trees, a Gini score gives an idea of how good a split is by how mixed the classes are in the two groups created by the split. The model’s accuracy is 0.7227723%, meaning that in approximately 72 out of 100 cases

classification-gini index - 2 (Training 90%, Test 10%)

#install.packages("rpart")
#install.packages("rpart.plot")
library(rpart)
library(rpart.plot)



set.seed(234)
train1 = sample(1:nrow(dataset.H), 450)
dataset.train1=dataset.H[train1,]
dataset.test1=dataset.H[-train1,]
Hotel.stars.test1=dataset.H[-train1]

fit.tree = rpart(Hotel.stars ~ Pool + Gym + Spa + Free.internet + Tennis.court + Casino , data=dataset.train1, method = "class", cp=0.002)
fit.tree
## n= 450 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##  1) root 450 276 5 (0.19 0.14 0.24 0.042 0.39)  
##    2) Spa=0 103  60 3 (0.42 0.4 0 0.18 0)  
##      4) Gym=1 84  41 3 (0.51 0.49 0 0 0)  
##        8) Pool=0 23   0 3 (1 0 0 0 0) *
##        9) Pool=1 61  20 3.5 (0.33 0.67 0 0 0)  
##         18) Casino=0 39  19 3 (0.51 0.49 0 0 0)  
##           36) Tennis.court=0 20   0 3 (1 0 0 0 0) *
##           37) Tennis.court=1 19   0 3.5 (0 1 0 0 0) *
##         19) Casino=1 22   0 3.5 (0 1 0 0 0) *
##      5) Gym=0 19   0 4.5 (0 0 0 1 0) *
##    3) Spa=1 347 173 5 (0.13 0.066 0.31 0 0.5)  
##      6) Free.internet=0 22   0 4 (0 0 1 0 0) *
##      7) Free.internet=1 325 151 5 (0.14 0.071 0.26 0 0.54)  
##       14) Tennis.court=1 83  40 4 (0.25 0 0.52 0 0.23) *
##       15) Tennis.court=0 242  87 5 (0.095 0.095 0.17 0 0.64) *
rpart.plot(fit.tree)

#try to save it in pdf file to view it clearly
pdf("tree_plot4.pdf", width = 12, height = 8)  
rpart.plot(fit.tree)
dev.off()
## png 
##   2
predictions <- predict(fit.tree, dataset.test1, type = "class")

# Confusion matrix
conf_matrix <- table(predictions, dataset.test1$Hotel.stars)

# Calculate accuracy
accuracy <- sum(diag(conf_matrix)) / sum(conf_matrix)
cat("Accuracy:", accuracy, "\n")
## Accuracy: 0.6730769
#calculate precision
precision <- diag(conf_matrix) / rowSums(conf_matrix)
cat("Precision for each class:", precision, "\n")
## Precision for each class: 1 1 0.3846154 1 0.5909091
cat("Average Precision:", mean(precision), "\n")
## Average Precision: 0.7951049
# Calculate Sensitivity (Recall)
sensitivity <- diag(conf_matrix) / colSums(conf_matrix)
cat("Sensitivity for each class:", sensitivity, "\n")
## Sensitivity for each class: 0.5555556 0.875 0.4166667 1 0.7222222
cat("Average Sensitivity:", mean(sensitivity), "\n")
## Average Sensitivity: 0.7138889
# Calculate Specificity
specificity <- NULL
for (i in 1:ncol(conf_matrix)) {
  temp <- conf_matrix[-i, -i]
  specificity <- c(specificity, sum(diag(temp)) / sum(temp))
}
cat("Specificity for each class:", specificity, "\n")
## Specificity for each class: 0.6976744 0.6363636 0.9375 0.6382979 0.88
cat("Average Specificity:", mean(specificity), "\n")
## Average Specificity: 0.7579672
# Display confusion matrix
print(conf_matrix)
##            
## predictions  3 3.5  4 4.5  5
##         3    5   0  0   0  0
##         3.5  0   7  0   0  0
##         4    3   0  5   0  5
##         4.5  0   0  0   5  0
##         5    1   1  7   0 13

The path of the decision tree same as the above tree.The model’s accuracy is 0.6862745%, meaning that in approximately 69 out of 100 cases, the model will correctly predict the star rating of a hotel based on these amenities.

classification- gini index - 3 (Training 75%, Test 25%)

#install.packages("rpart")
#install.packages("rpart.plot")
set.seed(234)
train1 = sample(1:nrow(dataset.H), 350)
dataset.train1=dataset.H[train1,]
dataset.test1=dataset.H[-train1,]
Hotel.stars.test1=dataset.H[-train1]

fit.tree = rpart(Hotel.stars ~ Pool + Gym + Spa + Free.internet + Tennis.court + Casino , data=dataset.train1, method = "class", cp=0.002)
fit.tree
## n= 350 
## 
## node), split, n, loss, yval, (yprob)
##       * denotes terminal node
## 
##  1) root 350 207 5 (0.19 0.15 0.23 0.029 0.41)  
##    2) Spa=0 76  42 3.5 (0.42 0.45 0 0.13 0)  
##      4) Gym=1 66  32 3.5 (0.48 0.52 0 0 0)  
##        8) Pool=0 17   0 3 (1 0 0 0 0) *
##        9) Pool=1 49  15 3.5 (0.31 0.69 0 0 0)  
##         18) Casino=0 29  14 3 (0.52 0.48 0 0 0)  
##           36) Tennis.court=0 15   0 3 (1 0 0 0 0) *
##           37) Tennis.court=1 14   0 3.5 (0 1 0 0 0) *
##         19) Casino=1 20   0 3.5 (0 1 0 0 0) *
##      5) Gym=0 10   0 4.5 (0 0 0 1 0) *
##    3) Spa=1 274 131 5 (0.12 0.062 0.3 0 0.52)  
##      6) Tennis.court=1 66  30 4 (0.23 0 0.55 0 0.23) *
##      7) Tennis.court=0 208  80 5 (0.087 0.082 0.22 0 0.62)  
##       14) Free.internet=0 17   0 4 (0 0 1 0 0) *
##       15) Free.internet=1 191  63 5 (0.094 0.089 0.15 0 0.67) *
rpart.plot(fit.tree)

predictions <- predict(fit.tree, dataset.test1, type = "class")

# Confusion matrix
conf_matrix <- table(predictions, dataset.test1$Hotel.stars)

# Calculate accuracy
accuracy <- sum(diag(conf_matrix)) / sum(conf_matrix)
cat("Accuracy:", accuracy, "\n")
## Accuracy: 0.6644737
#calculate precision
precision <- diag(conf_matrix) / rowSums(conf_matrix)
cat("Precision for each class:", precision, "\n")
## Precision for each class: 1 1 0.4857143 1 0.5479452
cat("Average Precision:", mean(precision), "\n")
## Average Precision: 0.8067319
# Calculate Sensitivity (Recall)
sensitivity <- diag(conf_matrix) / colSums(conf_matrix)
cat("Sensitivity for each class:", sensitivity, "\n")
## Sensitivity for each class: 0.516129 0.6666667 0.4594595 1 0.8163265
cat("Average Sensitivity:", mean(sensitivity), "\n")
## Average Sensitivity: 0.6917163
# Calculate Specificity
specificity <- NULL
for (i in 1:ncol(conf_matrix)) {
  temp <- conf_matrix[-i, -i]
  specificity <- c(specificity, sum(diag(temp)) / sum(temp))
}
cat("Specificity for each class:", specificity, "\n")
## Specificity for each class: 0.7024793 0.6641221 0.8659794 0.6304348 0.8714286
cat("Average Specificity:", mean(specificity), "\n")
## Average Specificity: 0.7468888
# Display confusion matrix
print(conf_matrix)
##            
## predictions  3 3.5  4 4.5  5
##         3   16   0  0   0  0
##         3.5  0  14  0   0  0
##         4    9   0 17   0  9
##         4.5  0   0  0  14  0
##         5    6   7 20   0 40

The path of the decision tree same as the above trees.The model’s accuracy is 0.6754967%, meaning that in approximately 68 out of 100 cases, the model will correctly predict the star rating of a hotel based on these amenities. from three different splitting we notice that when we took Training 80%, Test 20% has the highest accurecy.

classification-information gain - 1 (Training 70%,Test 30%)

set.seed(1234)
ind <- sample(2, nrow(yes), replace=TRUE, prob=c(0.7, 0.3))
trainData <- yes[ind==1,]
testData <- yes[ind==2,]

#install.packages('party')
library(party)
## Warning: package 'party' was built under R version 4.3.2
## Loading required package: grid
## Loading required package: mvtnorm
## Warning: package 'mvtnorm' was built under R version 4.3.2
## Loading required package: modeltools
## Loading required package: stats4
## Loading required package: strucchange
## Warning: package 'strucchange' was built under R version 4.3.2
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.3.2
## 
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
## 
##     as.Date, as.Date.numeric
## Loading required package: sandwich
## Warning: package 'sandwich' was built under R version 4.3.2
## 
## Attaching package: 'party'
## The following object is masked from 'package:dplyr':
## 
##     where
myFormula <- Hotel.stars ~ Pool + Gym + Spa + Free.internet + Tennis.court + Casino  
dataset_ctree <- ctree(myFormula, data=trainData)

table(predict(dataset_ctree), trainData$Hotel.stars)
##      
##         3 3.5   4 4.5   5
##   3    37   0   0   0   0
##   3.5   0  34   0   0   0
##   4    15   0  53   0  13
##   4.5   0   0   0  18   0
##   5    18  17  37   0 111
print(dataset_ctree)
## 
##   Conditional inference tree with 8 terminal nodes
## 
## Response:  Hotel.stars 
## Inputs:  Pool, Gym, Spa, Free.internet, Tennis.court, Casino 
## Number of observations:  353 
## 
## 1) Gym == {0}; criterion = 1, statistic = 352
##   2)*  weights = 18 
## 1) Gym == {1}
##   3) Spa == {1}; criterion = 1, statistic = 162.224
##     4) Tennis.court == {1}; criterion = 1, statistic = 38.328
##       5)*  weights = 64 
##     4) Tennis.court == {0}
##       6) Free.internet == {0}; criterion = 1, statistic = 49.982
##         7)*  weights = 17 
##       6) Free.internet == {1}
##         8)*  weights = 183 
##   3) Spa == {0}
##     9) Pool == {0}; criterion = 1, statistic = 27.016
##       10)*  weights = 21 
##     9) Pool == {1}
##       11) Tennis.court == {0}; criterion = 0.997, statistic = 11.879
##         12) Casino == {0}; criterion = 1, statistic = 32
##           13)*  weights = 16 
##         12) Casino == {1}
##           14)*  weights = 17 
##       11) Tennis.court == {1}
##         15)*  weights = 17
plot(dataset_ctree,type="simple")

plot(dataset_ctree)

# predict on test data
testPred <- predict(dataset_ctree, newdata = testData)
table(testPred, testData$Hotel.stars)
##         
## testPred  3 3.5  4 4.5  5
##      3   11   0  0   0  0
##      3.5  0  14  0   0  0
##      4    9   0 17   0 11
##      4.5  0   0  0   6  0
##      5    6   7 11   0 57
#install.packages('caret')
library(caret)
## Warning: package 'caret' was built under R version 4.3.2
## Loading required package: ggplot2
## Loading required package: lattice
results <- confusionMatrix(testPred, testData$Hotel.stars)
acc <- results$overall["Accuracy"]*100
acc
## Accuracy 
##  70.4698
results
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  3 3.5  4 4.5  5
##        3   11   0  0   0  0
##        3.5  0  14  0   0  0
##        4    9   0 17   0 11
##        4.5  0   0  0   6  0
##        5    6   7 11   0 57
## 
## Overall Statistics
##                                           
##                Accuracy : 0.7047          
##                  95% CI : (0.6245, 0.7765)
##     No Information Rate : 0.4564          
##     P-Value [Acc > NIR] : 7.702e-10       
##                                           
##                   Kappa : 0.5641          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: 3 Class: 3.5 Class: 4 Class: 4.5 Class: 5
## Sensitivity           0.42308    0.66667   0.6071    1.00000   0.8382
## Specificity           1.00000    1.00000   0.8347    1.00000   0.7037
## Pos Pred Value        1.00000    1.00000   0.4595    1.00000   0.7037
## Neg Pred Value        0.89130    0.94815   0.9018    1.00000   0.8382
## Prevalence            0.17450    0.14094   0.1879    0.04027   0.4564
## Detection Rate        0.07383    0.09396   0.1141    0.04027   0.3826
## Detection Prevalence  0.07383    0.09396   0.2483    0.04027   0.5436
## Balanced Accuracy     0.71154    0.83333   0.7209    1.00000   0.7710
as.table(results)
##           Reference
## Prediction  3 3.5  4 4.5  5
##        3   11   0  0   0  0
##        3.5  0  14  0   0  0
##        4    9   0 17   0 11
##        4.5  0   0  0   6  0
##        5    6   7 11   0 57
as.matrix(results)
##      3 3.5  4 4.5  5
## 3   11   0  0   0  0
## 3.5  0  14  0   0  0
## 4    9   0 17   0 11
## 4.5  0   0  0   6  0
## 5    6   7 11   0 57
as.matrix(results, what = "overall")
##                        [,1]
## Accuracy       7.046980e-01
## Kappa          5.641247e-01
## AccuracyLower  6.245186e-01
## AccuracyUpper  7.765375e-01
## AccuracyNull   4.563758e-01
## AccuracyPValue 7.701699e-10
## McnemarPValue           NaN
as.matrix(results, what = "classes")
##                              3        3.5         4        4.5         5
## Sensitivity          0.4230769 0.66666667 0.6071429 1.00000000 0.8382353
## Specificity          1.0000000 1.00000000 0.8347107 1.00000000 0.7037037
## Pos Pred Value       1.0000000 1.00000000 0.4594595 1.00000000 0.7037037
## Neg Pred Value       0.8913043 0.94814815 0.9017857 1.00000000 0.8382353
## Precision            1.0000000 1.00000000 0.4594595 1.00000000 0.7037037
## Recall               0.4230769 0.66666667 0.6071429 1.00000000 0.8382353
## F1                   0.5945946 0.80000000 0.5230769 1.00000000 0.7651007
## Prevalence           0.1744966 0.14093960 0.1879195 0.04026846 0.4563758
## Detection Rate       0.0738255 0.09395973 0.1140940 0.04026846 0.3825503
## Detection Prevalence 0.0738255 0.09395973 0.2483221 0.04026846 0.5436242
## Balanced Accuracy    0.7115385 0.83333333 0.7209268 1.00000000 0.7709695
print(results)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  3 3.5  4 4.5  5
##        3   11   0  0   0  0
##        3.5  0  14  0   0  0
##        4    9   0 17   0 11
##        4.5  0   0  0   6  0
##        5    6   7 11   0 57
## 
## Overall Statistics
##                                           
##                Accuracy : 0.7047          
##                  95% CI : (0.6245, 0.7765)
##     No Information Rate : 0.4564          
##     P-Value [Acc > NIR] : 7.702e-10       
##                                           
##                   Kappa : 0.5641          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: 3 Class: 3.5 Class: 4 Class: 4.5 Class: 5
## Sensitivity           0.42308    0.66667   0.6071    1.00000   0.8382
## Specificity           1.00000    1.00000   0.8347    1.00000   0.7037
## Pos Pred Value        1.00000    1.00000   0.4595    1.00000   0.7037
## Neg Pred Value        0.89130    0.94815   0.9018    1.00000   0.8382
## Prevalence            0.17450    0.14094   0.1879    0.04027   0.4564
## Detection Rate        0.07383    0.09396   0.1141    0.04027   0.3826
## Detection Prevalence  0.07383    0.09396   0.2483    0.04027   0.5436
## Balanced Accuracy     0.71154    0.83333   0.7209    1.00000   0.7710

This decision tree represent a predictive model for hotel star ratings based on amenities such as a gym, spa, pool, tennis court, casino, and free internet. The method used for creating the tree is based on information gain from the highest to the Lowest information gain , which is a criterion for splitting the data in a way that maximizes the reduction of uncertainty The overall accuracy of the model is 70%, which means it correctly predicts the star rating of a hotel based on these features about 70% of the time. This metric gives an indication of the model’s performance on the dataset it was tested on

classification-information gain - 2 (Training 80%, Test 20%)

set.seed(1234)
ind <- sample(2, nrow(yes), replace=TRUE, prob=c(0.8, 0.2))
trainData <- yes[ind==1,]
testData <- yes[ind==2,]

#install.packages('party')
library(party)

myFormula <- Hotel.stars ~ Pool + Gym + Spa + Free.internet + Tennis.court + Casino  
dataset_ctree <- ctree(myFormula, data=trainData)

table(predict(dataset_ctree), trainData$Hotel.stars)
##      
##         3 3.5   4 4.5   5
##   3    40   0   0   0   0
##   3.5   0  39   0   0   0
##   4    18   0  60   0  17
##   4.5   0   0   0  20   0
##   5    19  19  43   0 134
print(dataset_ctree)
## 
##   Conditional inference tree with 8 terminal nodes
## 
## Response:  Hotel.stars 
## Inputs:  Pool, Gym, Spa, Free.internet, Tennis.court, Casino 
## Number of observations:  409 
## 
## 1) Gym == {1}; criterion = 1, statistic = 408
##   2) Spa == {1}; criterion = 1, statistic = 190.805
##     3) Free.internet == {1}; criterion = 1, statistic = 45.125
##       4) Tennis.court == {0}; criterion = 1, statistic = 53.734
##         5)*  weights = 215 
##       4) Tennis.court == {1}
##         6)*  weights = 74 
##     3) Free.internet == {0}
##       7)*  weights = 21 
##   2) Spa == {0}
##     8) Tennis.court == {1}; criterion = 1, statistic = 28.966
##       9)*  weights = 21 
##     8) Tennis.court == {0}
##       10) Pool == {0}; criterion = 0.999, statistic = 14.558
##         11)*  weights = 21 
##       10) Pool == {1}
##         12) Casino == {1}; criterion = 1, statistic = 36
##           13)*  weights = 18 
##         12) Casino == {0}
##           14)*  weights = 19 
## 1) Gym == {0}
##   15)*  weights = 20
plot(dataset_ctree,type="simple")

plot(dataset_ctree)

testPred <- predict(dataset_ctree, newdata = testData)
table(testPred, testData$Hotel.stars)
##         
## testPred  3 3.5  4 4.5  5
##      3    8   0  0   0  0
##      3.5  0   9  0   0  0
##      4    6   0 10   0  7
##      4.5  0   0  0   4  0
##      5    5   5  5   0 34
#install.packages('caret')
library(caret)
results <- confusionMatrix(testPred, testData$Hotel.stars)
acc <- results$overall["Accuracy"]*100
acc
## Accuracy 
## 69.89247
results
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  3 3.5  4 4.5  5
##        3    8   0  0   0  0
##        3.5  0   9  0   0  0
##        4    6   0 10   0  7
##        4.5  0   0  0   4  0
##        5    5   5  5   0 34
## 
## Overall Statistics
##                                          
##                Accuracy : 0.6989         
##                  95% CI : (0.595, 0.7897)
##     No Information Rate : 0.4409         
##     P-Value [Acc > NIR] : 4.413e-07      
##                                          
##                   Kappa : 0.5661         
##                                          
##  Mcnemar's Test P-Value : NA             
## 
## Statistics by Class:
## 
##                      Class: 3 Class: 3.5 Class: 4 Class: 4.5 Class: 5
## Sensitivity           0.42105    0.64286   0.6667    1.00000   0.8293
## Specificity           1.00000    1.00000   0.8333    1.00000   0.7115
## Pos Pred Value        1.00000    1.00000   0.4348    1.00000   0.6939
## Neg Pred Value        0.87059    0.94048   0.9286    1.00000   0.8409
## Prevalence            0.20430    0.15054   0.1613    0.04301   0.4409
## Detection Rate        0.08602    0.09677   0.1075    0.04301   0.3656
## Detection Prevalence  0.08602    0.09677   0.2473    0.04301   0.5269
## Balanced Accuracy     0.71053    0.82143   0.7500    1.00000   0.7704
as.table(results)
##           Reference
## Prediction  3 3.5  4 4.5  5
##        3    8   0  0   0  0
##        3.5  0   9  0   0  0
##        4    6   0 10   0  7
##        4.5  0   0  0   4  0
##        5    5   5  5   0 34
as.matrix(results)
##     3 3.5  4 4.5  5
## 3   8   0  0   0  0
## 3.5 0   9  0   0  0
## 4   6   0 10   0  7
## 4.5 0   0  0   4  0
## 5   5   5  5   0 34
as.matrix(results, what = "overall")
##                        [,1]
## Accuracy       6.989247e-01
## Kappa          5.660723e-01
## AccuracyLower  5.950233e-01
## AccuracyUpper  7.897406e-01
## AccuracyNull   4.408602e-01
## AccuracyPValue 4.412807e-07
## McnemarPValue           NaN
as.matrix(results, what = "classes")
##                               3        3.5         4        4.5         5
## Sensitivity          0.42105263 0.64285714 0.6666667 1.00000000 0.8292683
## Specificity          1.00000000 1.00000000 0.8333333 1.00000000 0.7115385
## Pos Pred Value       1.00000000 1.00000000 0.4347826 1.00000000 0.6938776
## Neg Pred Value       0.87058824 0.94047619 0.9285714 1.00000000 0.8409091
## Precision            1.00000000 1.00000000 0.4347826 1.00000000 0.6938776
## Recall               0.42105263 0.64285714 0.6666667 1.00000000 0.8292683
## F1                   0.59259259 0.78260870 0.5263158 1.00000000 0.7555556
## Prevalence           0.20430108 0.15053763 0.1612903 0.04301075 0.4408602
## Detection Rate       0.08602151 0.09677419 0.1075269 0.04301075 0.3655914
## Detection Prevalence 0.08602151 0.09677419 0.2473118 0.04301075 0.5268817
## Balanced Accuracy    0.71052632 0.82142857 0.7500000 1.00000000 0.7704034
print(results)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  3 3.5  4 4.5  5
##        3    8   0  0   0  0
##        3.5  0   9  0   0  0
##        4    6   0 10   0  7
##        4.5  0   0  0   4  0
##        5    5   5  5   0 34
## 
## Overall Statistics
##                                          
##                Accuracy : 0.6989         
##                  95% CI : (0.595, 0.7897)
##     No Information Rate : 0.4409         
##     P-Value [Acc > NIR] : 4.413e-07      
##                                          
##                   Kappa : 0.5661         
##                                          
##  Mcnemar's Test P-Value : NA             
## 
## Statistics by Class:
## 
##                      Class: 3 Class: 3.5 Class: 4 Class: 4.5 Class: 5
## Sensitivity           0.42105    0.64286   0.6667    1.00000   0.8293
## Specificity           1.00000    1.00000   0.8333    1.00000   0.7115
## Pos Pred Value        1.00000    1.00000   0.4348    1.00000   0.6939
## Neg Pred Value        0.87059    0.94048   0.9286    1.00000   0.8409
## Prevalence            0.20430    0.15054   0.1613    0.04301   0.4409
## Detection Rate        0.08602    0.09677   0.1075    0.04301   0.3656
## Detection Prevalence  0.08602    0.09677   0.2473    0.04301   0.5269
## Balanced Accuracy     0.71053    0.82143   0.7500    1.00000   0.7704

The path of the decision tree same as the above trees.The overall accuracy of the model is 70%, which means it correctly predicts the star rating of a hotel based on these features about 70% of the time. This metric gives an indication of the model’s performance on the dataset it was tested on

classification-information gain - 3 (Training 90%, Test 10%)

set.seed(1234)
ind <- sample(2, nrow(yes), replace=TRUE, prob=c(0.9, 0.1))
trainData <- yes[ind==1,]
testData <- yes[ind==2,]

#install.packages('party')
library(party)

myFormula <- Hotel.stars ~ Pool + Gym + Spa + Free.internet + Tennis.court + Casino  
dataset_ctree <- ctree(myFormula, data=trainData)

table(predict(dataset_ctree), trainData$Hotel.stars)
##      
##         3 3.5   4 4.5   5
##   3    45   0   0   0   0
##   3.5   0  42   0   0   0
##   4    18   0  65   0  21
##   4.5   0   0   0  21   0
##   5    22  20  45   0 147
print(dataset_ctree)
## 
##   Conditional inference tree with 8 terminal nodes
## 
## Response:  Hotel.stars 
## Inputs:  Pool, Gym, Spa, Free.internet, Tennis.court, Casino 
## Number of observations:  446 
## 
## 1) Gym == {1}; criterion = 1, statistic = 445
##   2) Spa == {1}; criterion = 1, statistic = 211.206
##     3) Free.internet == {0}; criterion = 1, statistic = 53.389
##       4)*  weights = 24 
##     3) Free.internet == {1}
##       5) Tennis.court == {1}; criterion = 1, statistic = 51.92
##         6)*  weights = 80 
##       5) Tennis.court == {0}
##         7)*  weights = 234 
##   2) Spa == {0}
##     8) Tennis.court == {0}; criterion = 1, statistic = 29.318
##       9) Pool == {0}; criterion = 1, statistic = 16.225
##         10)*  weights = 23 
##       9) Pool == {1}
##         11) Casino == {0}; criterion = 1, statistic = 42
##           12)*  weights = 22 
##         11) Casino == {1}
##           13)*  weights = 21 
##     8) Tennis.court == {1}
##       14)*  weights = 21 
## 1) Gym == {0}
##   15)*  weights = 21
plot(dataset_ctree,type="simple")

plot(dataset_ctree)

# predict on test data
testPred <- predict(dataset_ctree, newdata = testData)
table(testPred, testData$Hotel.stars)
##         
## testPred  3 3.5  4 4.5  5
##      3    3   0  0   0  0
##      3.5  0   6  0   0  0
##      4    6   0  5   0  3
##      4.5  0   0  0   3  0
##      5    2   4  3   0 21
#install.packages('caret')
library(caret)
results <- confusionMatrix(testPred, testData$Hotel.stars)
acc <- results$overall["Accuracy"]*100
acc
## Accuracy 
## 67.85714
results
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  3 3.5  4 4.5  5
##        3    3   0  0   0  0
##        3.5  0   6  0   0  0
##        4    6   0  5   0  3
##        4.5  0   0  0   3  0
##        5    2   4  3   0 21
## 
## Overall Statistics
##                                           
##                Accuracy : 0.6786          
##                  95% CI : (0.5404, 0.7971)
##     No Information Rate : 0.4286          
##     P-Value [Acc > NIR] : 0.0001397       
##                                           
##                   Kappa : 0.5422          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: 3 Class: 3.5 Class: 4 Class: 4.5 Class: 5
## Sensitivity           0.27273     0.6000  0.62500    1.00000   0.8750
## Specificity           1.00000     1.0000  0.81250    1.00000   0.7188
## Pos Pred Value        1.00000     1.0000  0.35714    1.00000   0.7000
## Neg Pred Value        0.84906     0.9200  0.92857    1.00000   0.8846
## Prevalence            0.19643     0.1786  0.14286    0.05357   0.4286
## Detection Rate        0.05357     0.1071  0.08929    0.05357   0.3750
## Detection Prevalence  0.05357     0.1071  0.25000    0.05357   0.5357
## Balanced Accuracy     0.63636     0.8000  0.71875    1.00000   0.7969
as.table(results)
##           Reference
## Prediction  3 3.5  4 4.5  5
##        3    3   0  0   0  0
##        3.5  0   6  0   0  0
##        4    6   0  5   0  3
##        4.5  0   0  0   3  0
##        5    2   4  3   0 21
as.matrix(results)
##     3 3.5 4 4.5  5
## 3   3   0 0   0  0
## 3.5 0   6 0   0  0
## 4   6   0 5   0  3
## 4.5 0   0 0   3  0
## 5   2   4 3   0 21
as.matrix(results, what = "overall")
##                        [,1]
## Accuracy       0.6785714286
## Kappa          0.5422343324
## AccuracyLower  0.5403637655
## AccuracyUpper  0.7971454880
## AccuracyNull   0.4285714286
## AccuracyPValue 0.0001397439
## McnemarPValue           NaN
as.matrix(results, what = "classes")
##                               3       3.5          4        4.5         5
## Sensitivity          0.27272727 0.6000000 0.62500000 1.00000000 0.8750000
## Specificity          1.00000000 1.0000000 0.81250000 1.00000000 0.7187500
## Pos Pred Value       1.00000000 1.0000000 0.35714286 1.00000000 0.7000000
## Neg Pred Value       0.84905660 0.9200000 0.92857143 1.00000000 0.8846154
## Precision            1.00000000 1.0000000 0.35714286 1.00000000 0.7000000
## Recall               0.27272727 0.6000000 0.62500000 1.00000000 0.8750000
## F1                   0.42857143 0.7500000 0.45454545 1.00000000 0.7777778
## Prevalence           0.19642857 0.1785714 0.14285714 0.05357143 0.4285714
## Detection Rate       0.05357143 0.1071429 0.08928571 0.05357143 0.3750000
## Detection Prevalence 0.05357143 0.1071429 0.25000000 0.05357143 0.5357143
## Balanced Accuracy    0.63636364 0.8000000 0.71875000 1.00000000 0.7968750
print(results)
## Confusion Matrix and Statistics
## 
##           Reference
## Prediction  3 3.5  4 4.5  5
##        3    3   0  0   0  0
##        3.5  0   6  0   0  0
##        4    6   0  5   0  3
##        4.5  0   0  0   3  0
##        5    2   4  3   0 21
## 
## Overall Statistics
##                                           
##                Accuracy : 0.6786          
##                  95% CI : (0.5404, 0.7971)
##     No Information Rate : 0.4286          
##     P-Value [Acc > NIR] : 0.0001397       
##                                           
##                   Kappa : 0.5422          
##                                           
##  Mcnemar's Test P-Value : NA              
## 
## Statistics by Class:
## 
##                      Class: 3 Class: 3.5 Class: 4 Class: 4.5 Class: 5
## Sensitivity           0.27273     0.6000  0.62500    1.00000   0.8750
## Specificity           1.00000     1.0000  0.81250    1.00000   0.7188
## Pos Pred Value        1.00000     1.0000  0.35714    1.00000   0.7000
## Neg Pred Value        0.84906     0.9200  0.92857    1.00000   0.8846
## Prevalence            0.19643     0.1786  0.14286    0.05357   0.4286
## Detection Rate        0.05357     0.1071  0.08929    0.05357   0.3750
## Detection Prevalence  0.05357     0.1071  0.25000    0.05357   0.5357
## Balanced Accuracy     0.63636     0.8000  0.71875    1.00000   0.7969

The path of the decision tree same as the above trees.The overall accuracy of the model is 68%, which means it correctly predicts the star rating of a hotel based on these features about 68% of the time. This metric gives an indication of the model’s performance on the dataset it was tested on

classification- gain ratio - 1 (3 folds)

set.seed(1958)
folds <- createFolds(yes$Hotel.stars, k = 3)

# Specify 'method' as "J48" and 'trControl' for classification
C45Fit <- train(Hotel.stars ~ Pool + Gym + Spa + Free.internet + Tennis.court + Casino ,method = "J48", data = yes, tuneLength = 5, trControl = trainControl(method = "cv", index = folds))
C45Fit
## C4.5-like Trees 
## 
## 502 samples
##   6 predictor
##   5 classes: '3', '3.5', '4', '4.5', '5' 
## 
## No pre-processing
## Resampling: Cross-Validated (10 fold) 
## Summary of sample sizes: 167, 167, 168 
## Resampling results across tuning parameters:
## 
##   C       M  Accuracy   Kappa    
##   0.0100  1  0.6941877  0.5621606
##   0.0100  2  0.6941877  0.5621606
##   0.0100  3  0.6941877  0.5621606
##   0.0100  4  0.6941877  0.5621606
##   0.0100  5  0.6941877  0.5621606
##   0.1325  1  0.7131498  0.5956007
##   0.1325  2  0.7131498  0.5956007
##   0.1325  3  0.7131498  0.5956007
##   0.1325  4  0.7131498  0.5956007
##   0.1325  5  0.7131498  0.5956007
##   0.2550  1  0.7131498  0.5956007
##   0.2550  2  0.7131498  0.5956007
##   0.2550  3  0.7131498  0.5956007
##   0.2550  4  0.7131498  0.5956007
##   0.2550  5  0.7131498  0.5956007
##   0.3775  1  0.7131498  0.5956007
##   0.3775  2  0.7131498  0.5956007
##   0.3775  3  0.7131498  0.5956007
##   0.3775  4  0.7131498  0.5956007
##   0.3775  5  0.7131498  0.5956007
##   0.5000  1  0.7131498  0.5956007
##   0.5000  2  0.7131498  0.5956007
##   0.5000  3  0.7131498  0.5956007
##   0.5000  4  0.7131498  0.5956007
##   0.5000  5  0.7131498  0.5956007
## 
## Accuracy was used to select the optimal model using the largest value.
## The final values used for the model were C = 0.1325 and M = 1.
C45Fit$finalModel
## J48 pruned tree
## ------------------
## 
## Gym1 <= 0: 4.5 (24.0)
## Gym1 > 0
## |   Spa1 <= 0
## |   |   Pool1 <= 0: 3 (24.0)
## |   |   Pool1 > 0
## |   |   |   Tennis.court1 <= 0
## |   |   |   |   Casino1 <= 0: 3 (24.0)
## |   |   |   |   Casino1 > 0: 3.5 (24.0)
## |   |   |   Tennis.court1 > 0: 3.5 (24.0)
## |   Spa1 > 0
## |   |   Free.internet1 <= 0: 4 (24.0)
## |   |   Free.internet1 > 0
## |   |   |   Tennis.court1 <= 0: 5 (264.0/96.0)
## |   |   |   Tennis.court1 > 0: 4 (94.0/48.0)
## 
## Number of Leaves  :  8
## 
## Size of the tree :   15
#install.packages("partykit")
library(partykit)
## Warning: package 'partykit' was built under R version 4.3.2
## Loading required package: libcoin
## Warning: package 'libcoin' was built under R version 4.3.2
## 
## Attaching package: 'partykit'
## The following objects are masked from 'package:party':
## 
##     cforest, ctree, ctree_control, edge_simple, mob, mob_control,
##     node_barplot, node_bivplot, node_boxplot, node_inner, node_surv,
##     node_terminal, varimp
#visualize 
constparty_model <- as.constparty(C45Fit$finalModel)
plot(constparty_model)

# Create test set
test <- yes[-folds$Fold1, ]

# Make predictions on the test set
predictions <- predict(C45Fit, newdata = test)

# Confusion matrix
conf_matrix <- table(predictions, test$Hotel.stars)

# Calculate accuracy
accuracy <- sum(diag(conf_matrix)) / sum(conf_matrix)
cat("Accuracy:", accuracy, "\n")
## Accuracy: 0.7283582
# Calculate Precision
precision <- diag(conf_matrix) / rowSums(conf_matrix)
cat("Precision for each class:", precision, "\n")
## Precision for each class: 1 1 0.6282051 1 0.6436782
cat("Average Precision:", mean(precision, na.rm = TRUE), "\n")
## Average Precision: 0.8543767
# Calculate Sensitivity (Recall)
sensitivity <- diag(conf_matrix) / colSums(conf_matrix)
cat("Sensitivity for each class:", sensitivity, "\n")
## Sensitivity for each class: 0.546875 0.6666667 0.6202532 1 0.875
cat("Average Sensitivity:", mean(sensitivity, na.rm = TRUE), "\n")
## Average Sensitivity: 0.741759
# Calculate Specificity
specificity <- NULL
for (i in 1:ncol(conf_matrix)) {
  temp <- conf_matrix[-i, -i]
  specificity <- c(specificity, sum(diag(temp)) / sum(temp))
}
cat("Specificity for each class:", specificity, "\n")
## Specificity for each class: 0.7712177 0.738676 0.8590308 0.7147335 0.9103448
cat("Average Specificity:", mean(specificity, na.rm = TRUE), "\n")
## Average Specificity: 0.7988006
# Display confusion matrix
conf_matrix
##            
## predictions   3 3.5   4 4.5   5
##         3    35   0   0   0   0
##         3.5   0  32   0   0   0
##         4    13   0  49   0  16
##         4.5   0   0   0  16   0
##         5    16  16  30   0 112

The path of the decision tree same as the above trees.The overall accuracy of the model is 70%, which means it correctly predicts the star rating of a hotel based on these features about 70% of the time. This metric gives an indication of the model’s performance on the dataset it was tested on

classification- gain ratio - 2 (5 folds)

set.seed(1958)
folds <- createFolds(yes$Hotel.stars, k = 5)

C45Fit <- train(Hotel.stars ~ Pool + Gym + Spa + Free.internet + Tennis.court + Casino ,method = "J48", data = yes, tuneLength = 5, trControl = trainControl(method = "cv", index = folds))
C45Fit
## C4.5-like Trees 
## 
## 502 samples
##   6 predictor
##   5 classes: '3', '3.5', '4', '4.5', '5' 
## 
## No pre-processing
## Resampling: Cross-Validated (10 fold) 
## Summary of sample sizes: 101, 101, 101, 99, 100 
## Resampling results across tuning parameters:
## 
##   C       M  Accuracy   Kappa    
##   0.0100  1  0.6727812  0.5263655
##   0.0100  2  0.6727812  0.5263655
##   0.0100  3  0.6618359  0.5090478
##   0.0100  4  0.6204642  0.4471991
##   0.0100  5  0.5906629  0.4011308
##   0.1325  1  0.6922326  0.5586801
##   0.1325  2  0.6922326  0.5586801
##   0.1325  3  0.6812873  0.5413623
##   0.1325  4  0.6508882  0.4975185
##   0.1325  5  0.6111118  0.4363888
##   0.2550  1  0.7021828  0.5761220
##   0.2550  2  0.7021828  0.5761220
##   0.2550  3  0.6912376  0.5596575
##   0.2550  4  0.6608384  0.5162877
##   0.2550  5  0.6210620  0.4559578
##   0.3775  1  0.7021828  0.5761220
##   0.3775  2  0.7021828  0.5761220
##   0.3775  3  0.6912376  0.5596575
##   0.3775  4  0.6603409  0.5148511
##   0.3775  5  0.6205645  0.4560367
##   0.5000  1  0.7021828  0.5761220
##   0.5000  2  0.7021828  0.5761220
##   0.5000  3  0.6912376  0.5596575
##   0.5000  4  0.6603409  0.5148511
##   0.5000  5  0.6205645  0.4560367
## 
## Accuracy was used to select the optimal model using the largest value.
## The final values used for the model were C = 0.255 and M = 1.
C45Fit$finalModel
## J48 pruned tree
## ------------------
## 
## Gym1 <= 0: 4.5 (24.0)
## Gym1 > 0
## |   Spa1 <= 0
## |   |   Pool1 <= 0: 3 (24.0)
## |   |   Pool1 > 0
## |   |   |   Tennis.court1 <= 0
## |   |   |   |   Casino1 <= 0: 3 (24.0)
## |   |   |   |   Casino1 > 0: 3.5 (24.0)
## |   |   |   Tennis.court1 > 0: 3.5 (24.0)
## |   Spa1 > 0
## |   |   Free.internet1 <= 0: 4 (24.0)
## |   |   Free.internet1 > 0
## |   |   |   Tennis.court1 <= 0: 5 (264.0/96.0)
## |   |   |   Tennis.court1 > 0: 4 (94.0/48.0)
## 
## Number of Leaves  :  8
## 
## Size of the tree :   15
#install.packages("partykit")
library(partykit)


constparty_model <- as.constparty(C45Fit$finalModel)
plot(constparty_model)

test <- yes[-folds$Fold1, ]

predictions <- predict(C45Fit, newdata = test)

conf_matrix <- table(predictions, test$Hotel.stars)

accuracy <- sum(diag(conf_matrix)) / sum(conf_matrix)
cat("Accuracy:", accuracy, "\n")
## Accuracy: 0.7182045
# Calculate Precision
precision <- diag(conf_matrix) / rowSums(conf_matrix)
cat("Precision for each class:", precision, "\n")
## Precision for each class: 1 1 0.6129032 1 0.6384977
cat("Average Precision:", mean(precision, na.rm = TRUE), "\n")
## Average Precision: 0.8502802
# Calculate Sensitivity (Recall)
sensitivity <- diag(conf_matrix) / colSums(conf_matrix)
cat("Sensitivity for each class:", sensitivity, "\n")
## Sensitivity for each class: 0.5131579 0.637931 0.606383 1 0.8831169
cat("Average Sensitivity:", mean(sensitivity, na.rm = TRUE), "\n")
## Average Sensitivity: 0.7281178
# Calculate Specificity
specificity <- NULL
for (i in 1:ncol(conf_matrix)) {
  temp <- conf_matrix[-i, -i]
  specificity <- c(specificity, sum(diag(temp)) / sum(temp))
}
cat("Specificity for each class:", specificity, "\n")
## Specificity for each class: 0.7661538 0.7317784 0.8523985 0.7041885 0.8941176
cat("Average Specificity:", mean(specificity, na.rm = TRUE), "\n")
## Average Specificity: 0.7897274
# Display confusion matrix
conf_matrix
##            
## predictions   3 3.5   4 4.5   5
##         3    39   0   0   0   0
##         3.5   0  37   0   0   0
##         4    18   0  57   0  18
##         4.5   0   0   0  19   0
##         5    19  21  37   0 136

The path of the decision tree same as the above trees.The overall accuracy of the model is 70%, which means it correctly predicts the star rating of a hotel based on these features about 70% of the time. This metric gives an indication of the model’s performance on the dataset it was tested on

classification- gain ratio - 3 (10 folds)

The path of the decision tree same as the above trees.The overall accuracy of the model is 70%, which means it correctly predicts the star rating of a hotel based on these features about 70% of the time. This metric gives an indication of the model’s performance on the dataset it was tested on

set.seed(1958)
folds <- createFolds(yes$Hotel.stars, k = 10)

C45Fit <- train(Hotel.stars ~ Pool + Gym + Spa + Free.internet + Tennis.court + Casino ,method = "J48", data = yes, tuneLength = 5, trControl = trainControl(method = "cv", index = folds))
C45Fit
## C4.5-like Trees 
## 
## 502 samples
##   6 predictor
##   5 classes: '3', '3.5', '4', '4.5', '5' 
## 
## No pre-processing
## Resampling: Cross-Validated (10 fold) 
## Summary of sample sizes: 50, 49, 50, 50, 51, 51, ... 
## Resampling results across tuning parameters:
## 
##   C       M  Accuracy   Kappa    
##   0.0100  1  0.6040334  0.4266561
##   0.0100  2  0.5989450  0.4195428
##   0.0100  3  0.5454158  0.3387777
##   0.0100  4  0.5035295  0.2728574
##   0.0100  5  0.4988835  0.2669659
##   0.1325  1  0.6633355  0.5167734
##   0.1325  2  0.6126716  0.4418786
##   0.1325  3  0.5544861  0.3551720
##   0.1325  4  0.5079641  0.2824662
##   0.1325  5  0.5033181  0.2765747
##   0.2550  1  0.6682028  0.5241364
##   0.2550  2  0.6173176  0.4485439
##   0.2550  3  0.5540432  0.3545729
##   0.2550  4  0.5130526  0.2888491
##   0.2550  5  0.5033181  0.2765747
##   0.3775  1  0.6772834  0.5433795
##   0.3775  2  0.6263982  0.4685977
##   0.3775  3  0.5631238  0.3756551
##   0.3775  4  0.5219115  0.3117947
##   0.3775  5  0.5121770  0.2996174
##   0.5000  1  0.6772834  0.5433795
##   0.5000  2  0.6263982  0.4685977
##   0.5000  3  0.5631238  0.3756551
##   0.5000  4  0.5219115  0.3117947
##   0.5000  5  0.5121770  0.2996174
## 
## Accuracy was used to select the optimal model using the largest value.
## The final values used for the model were C = 0.3775 and M = 1.
C45Fit$finalModel
## J48 pruned tree
## ------------------
## 
## Gym1 <= 0: 4.5 (24.0)
## Gym1 > 0
## |   Spa1 <= 0
## |   |   Pool1 <= 0: 3 (24.0)
## |   |   Pool1 > 0
## |   |   |   Tennis.court1 <= 0
## |   |   |   |   Casino1 <= 0: 3 (24.0)
## |   |   |   |   Casino1 > 0: 3.5 (24.0)
## |   |   |   Tennis.court1 > 0: 3.5 (24.0)
## |   Spa1 > 0
## |   |   Free.internet1 <= 0: 4 (24.0)
## |   |   Free.internet1 > 0
## |   |   |   Tennis.court1 <= 0: 5 (264.0/96.0)
## |   |   |   Tennis.court1 > 0: 4 (94.0/48.0)
## 
## Number of Leaves  :  8
## 
## Size of the tree :   15
#install.packages("partykit")
library(partykit)


#visualize 
constparty_model <- as.constparty(C45Fit$finalModel)
plot(constparty_model)

test <- yes[-folds$Fold1, ]  

predictions <- predict(C45Fit, newdata = test)

conf_matrix <- table(predictions, test$Hotel.stars)

accuracy <- sum(diag(conf_matrix)) / sum(conf_matrix)
cat("Accuracy:", accuracy, "\n")
## Accuracy: 0.7146018
# Calculate Precision
precision <- diag(conf_matrix) / rowSums(conf_matrix)
cat("Precision for each class:", precision, "\n")
## Precision for each class: 1 1 0.5943396 1 0.6371308
cat("Average Precision:", mean(precision, na.rm = TRUE), "\n")
## Average Precision: 0.8462941
# Calculate Sensitivity (Recall)
sensitivity <- diag(conf_matrix) / colSums(conf_matrix)
cat("Sensitivity for each class:", sensitivity, "\n")
## Sensitivity for each class: 0.5057471 0.6769231 0.5943396 1 0.8728324
cat("Average Sensitivity:", mean(sensitivity, na.rm = TRUE), "\n")
## Average Sensitivity: 0.7299684
# Calculate Specificity
specificity <- NULL
for (i in 1:ncol(conf_matrix)) {
  temp <- conf_matrix[-i, -i]
  specificity <- c(specificity, sum(diag(temp)) / sum(temp))
}
cat("Specificity for each class:", specificity, "\n")
## Specificity for each class: 0.7643836 0.7209302 0.8580858 0.7006961 0.8911917
cat("Average Specificity:", mean(specificity, na.rm = TRUE), "\n")
## Average Specificity: 0.7870575
# Display confusion matrix
conf_matrix
##            
## predictions   3 3.5   4 4.5   5
##         3    44   0   0   0   0
##         3.5   0  44   0   0   0
##         4    21   0  63   0  22
##         4.5   0   0   0  21   0
##         5    22  21  43   0 151
gini index gini index gini index information gain information gain information gain gain ratio gain ratio gain ratio
75% training, 25% test 80% training, 20% test 90% training, 10% test 70% training, 30% test 80% training, 20% test 90% training, 10% test 3 folds 5 folds 10 folds
accuracy 67.5% 72% 68.6% 71.6% 69% 66% 71,8% 71.2 71.6
precision 81% 83% 80% 83% 82% 80% 84% 84% 84%
sensitivity 70% 76% 74% 72% 70% 65% 73% 72% 73%
specificity 75.5% 80% 77% 91% 90% 89.9% 79% 78% 78.8%

Our accuracy is constant in gain ratio method because of our dataset is small, changing the number of folds may not have a significant impact on model performance. Cross-validation is generally more effective with larger datasets.

Information gain is the best way to apply to our data, because it gives higher accuracy results than other methods.

clustring prepreocessing Data types should be transformed into numeric types before clustering.

yes1<-yes
yes1$Pool <- as.numeric(yes1$Pool)
yes1$Gym <- as.numeric(yes1$Gym)
yes1$Spa <- as.numeric(yes1$Spa)
yes1$Free.internet <- as.numeric(yes1$Free.internet)
yes1$Tennis.court <- as.numeric(yes1$Tennis.court)
yes1$Casino <- as.numeric(yes1$Casino)

View(yes1)

Create a new dataset with only numeric attributes

new_dataset <- yes1[, sapply(yes1, is.numeric)]

new_dataset <- scale(new_dataset)
View(new_dataset)

# Specify the subset of attributes for clustering
subset_attributes <- c("Pool", "Gym", "Spa", "Free.internet", "Tennis.court", "Casino")

# Subset the dataset to include only the specified attributes
subset_dataset <- new_dataset[, subset_attributes]

BCubed precision and recall

# Function to calculate BCubed precision for a specific class label in a cluster
calculate_BCubed_precision <- function(cluster_assignments, true_labels, class_label) {
  num_points <- length(cluster_assignments)
  precision_sum <- 0
  
  for (i in 1:num_points) {
    cluster_indices <- which(cluster_assignments == cluster_assignments[i])
    class_indices <- which(true_labels == class_label)
    
    common_indices <- length(intersect(cluster_indices, class_indices))
    cluster_size <- length(cluster_indices)
    
    precision_sum <- precision_sum + (common_indices / cluster_size)
  }
  
  BCubed_precision <- precision_sum / num_points
  return(BCubed_precision)
}

# Function to calculate BCubed recall for a specific class label in a cluster
calculate_BCubed_recall <- function(cluster_assignments, true_labels, class_label) {
  num_points <- length(cluster_assignments)
  recall_sum <- 0
  
  for (i in 1:num_points) {
    cluster_indices <- which(cluster_assignments == cluster_assignments[i])
    class_indices <- which(true_labels == class_label)
    
    common_indices <- length(intersect(cluster_indices, class_indices))
    class_size <- length(class_indices)
    
    recall_sum <- recall_sum + (common_indices / class_size)
  }
  
  BCubed_recall <- recall_sum / num_points
  return(BCubed_recall)
}
# Specify the class labels (replace with actual class labels in your data)
class_labels <- c("3", "3,5", "4", "4,5","5")

# Calculate BCubed precision and recall for each class label
BCubed_precision_recall_results <- matrix(NA, nrow = length(class_labels), ncol = 2,
                                          dimnames = list(class_labels, c("BCubed_Precision", "BCubed_Recall")))

run k-means clustering to find 4 clusters

set.seed(8953)



kmeans.result <- kmeans(subset_dataset, 4) 
kmeans.result
## K-means clustering with 4 clusters of sizes 48, 406, 24, 24
## 
## Cluster means:
##         Pool         Gym       Spa Free.internet Tennis.court     Casino
## 1  0.2238508  0.22385081 -1.782412     0.2238508   0.62418313 -3.0723756
## 2  0.2238508 -0.05293024  0.282994     0.2238508  -0.00832275  0.3248327
## 3 -4.4583620  0.22385081 -1.782412     0.2238508  -0.55378654  0.3248327
## 4  0.2238508  0.22385081  0.559920    -4.4583620  -0.55378654  0.3248327
## 
## Clustering vector:
##   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
##  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40 
##   3   3   3   3   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
##  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60 
##   2   2   2   2   2   2   2   2   4   4   4   4   4   4   4   4   4   4   4   4 
##  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  77  78  79  80  81 
##   4   4   4   4   4   4   4   4   4   4   4   4   2   2   2   2   2   2   2   2 
##  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 102 103 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   1   1 
## 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 
##   1   1   1   1   1   1   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 503 504 
##   2   2 
## 
## Within cluster sum of squares by cluster:
## [1] 6.660540e+01 1.128214e+03 2.399863e-29 2.044875e-29
##  (between_SS / total_SS =  60.3 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
#3- visualize clustering
#install.packages("factoextra")
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.3.2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
fviz_cluster(kmeans.result, data = subset_dataset)

kmeans.result$tot.withinss
## [1] 1194.82
kmeans.result$tot.withinss
## [1] 1194.82
kmeans.result$tot.withinss
## [1] 1194.82
kmeans.result$tot.withinss
## [1] 1194.82
kmeans.result$tot.withinss
## [1] 1194.82
kmeans.result$tot.withinss
## [1] 1194.82
#silhouette
library(cluster)
avg_sil <- silhouette(kmeans.result$cluster,dist(subset_dataset)) #a dissimilarity object inheriting from class dist or coercible to one. If not specified, dmatrix must be.
fviz_silhouette(avg_sil)#k-means clustering with estimating k and initializations
##   cluster size ave.sil.width
## 1       1   48          0.73
## 2       2  406          0.66
## 3       3   24          1.00
## 4       4   24          1.00

#BCubed precision and recall
for (i in 1:length(class_labels)) {
  BCubed_precision_recall_results[i, 1] <- calculate_BCubed_precision(kmeans.result$cluster, yes1$Hotel.stars, class_labels[i])
  BCubed_precision_recall_results[i, 2] <- calculate_BCubed_recall(kmeans.result$cluster, yes1$Hotel.stars, class_labels[i])
}



# View the results
print(BCubed_precision_recall_results)
##     BCubed_Precision BCubed_Recall
## 3          0.1912351     0.4402390
## 3,5        0.0000000           NaN
## 4          0.2350598     0.6539942
## 4,5        0.0000000           NaN
## 5          0.3824701     0.8087649
#print(BCubed_precision_recall_results)
#BCubed_Precision BCubed_Recall
#3         0.19161677     0.4401198
#3,5       0.14371257     0.5708583
#4         0.23552894     0.6537095
#4,5       0.04790419     0.8083832
#5         0.38123752     0.8083832

run k-means clustering to find 2 clusters

set.seed(8953)



kmeans.result2 <- kmeans(subset_dataset, 2) 
kmeans.result2
## K-means clustering with 2 clusters of sizes 478, 24
## 
## Cluster means:
##          Pool        Gym         Spa Free.internet Tennis.court      Casino
## 1 -0.01123937  0.2238508  0.08949348   -0.01123937   0.02780518 -0.01630959
## 2  0.22385081 -4.4583620 -1.78241186    0.22385081  -0.55378654  0.32483267
## 
## Clustering vector:
##   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
##  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
##  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
##  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  77  78  79  80  81 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
##  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 102 103 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   2   2 
## 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 
##   2   2   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
## 503 504 
##   1   1 
## 
## Within cluster sum of squares by cluster:
## [1] 2.412008e+03 2.399863e-29
##  (between_SS / total_SS =  19.8 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
#3- visualize clustering
library(factoextra)
fviz_cluster(kmeans.result2, data = subset_dataset)

kmeans.result2$tot.withinss
## [1] 2412.008
#silhouette
library(cluster)
avg_sil <- silhouette(kmeans.result2$cluster,dist(subset_dataset)) 
fviz_silhouette(avg_sil)
##   cluster size ave.sil.width
## 1       1  478          0.58
## 2       2   24          1.00

#BCubed precision and recall
for (i in 1:length(class_labels)) {
  BCubed_precision_recall_results[i, 1] <- calculate_BCubed_precision(kmeans.result2$cluster, yes1$Hotel.stars, class_labels[i])
  BCubed_precision_recall_results[i, 2] <- calculate_BCubed_recall(kmeans.result2$cluster, yes1$Hotel.stars, class_labels[i])
}
# View the results
print(BCubed_precision_recall_results)
##     BCubed_Precision BCubed_Recall
## 3          0.1912351     0.9521912
## 3,5        0.0000000           NaN
## 4          0.2350598     0.9521912
## 4,5        0.0000000           NaN
## 5          0.3824701     0.9521912

run k-means clustering to find 6 clusters

set.seed(8953)



kmeans.result3 <- kmeans(subset_dataset, 6) 
kmeans.result3
## K-means clustering with 6 clusters of sizes 24, 48, 288, 24, 94, 24
## 
## Cluster means:
##         Pool        Gym        Spa Free.internet Tennis.court     Casino
## 1 -4.4583620  0.2238508 -1.7824119     0.2238508   -0.5537865  0.3248327
## 2  0.2238508  0.2238508 -1.7824119     0.2238508    0.6241831 -3.0723756
## 3  0.2238508  0.2238508  0.3647256     0.2238508   -0.5537865  0.3248327
## 4  0.2238508  0.2238508  0.5599200    -4.4583620   -0.5537865  0.3248327
## 5  0.2238508  0.2238508  0.5599200     0.2238508    1.8021528  0.3248327
## 6  0.2238508 -4.4583620 -1.7824119     0.2238508   -0.5537865  0.3248327
## 
## Clustering vector:
##   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20 
##   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1   1 
##  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40 
##   1   1   1   1   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
##  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60 
##   3   3   3   3   3   3   3   3   4   4   4   4   4   4   4   4   4   4   4   4 
##  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  77  78  79  80  81 
##   4   4   4   4   4   4   4   4   4   4   4   4   5   5   5   5   5   5   5   5 
##  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 
##   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5 
## 102 103 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 
##   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   3   3 
## 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 
##   3   3   3   3   3   3   3   3   3   3   5   5   5   5   5   5   5   5   5   5 
## 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 
##   5   5   5   5   5   5   5   5   5   5   5   5   5   5   3   3   3   3   3   3 
## 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   6   6 
## 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 
##   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6   6 
## 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 
##   6   6   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   5   5   5   5   5   5 
## 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 
##   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   5   2   2 
## 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 
##   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2   2 
## 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 
##   2   2   2   2   2   2   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 
##   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3   3 
## 503 504 
##   3   3 
## 
## Within cluster sum of squares by cluster:
## [1] 2.399863e-29 6.660540e+01 1.207034e+02 2.044875e-29 1.937752e-27
## [6] 2.399863e-29
##  (between_SS / total_SS =  93.8 %)
## 
## Available components:
## 
## [1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
## [6] "betweenss"    "size"         "iter"         "ifault"
#3- visualize clustering
library(factoextra)
fviz_cluster(kmeans.result3, data = subset_dataset)

kmeans.result3$tot.withinss
## [1] 187.3088
#silhouette
library(cluster)
avg_sil <- silhouette(kmeans.result3$cluster,dist(subset_dataset)) 
fviz_silhouette(avg_sil)
##   cluster size ave.sil.width
## 1       1   24          1.00
## 2       2   48          0.71
## 3       3  288          0.87
## 4       4   24          1.00
## 5       5   94          1.00
## 6       6   24          1.00

#BCubed precision and recall
for (i in 1:length(class_labels)) {
  BCubed_precision_recall_results[i, 1] <- calculate_BCubed_precision(kmeans.result3$cluster, yes1$Hotel.stars, class_labels[i])
  BCubed_precision_recall_results[i, 2] <- calculate_BCubed_recall(kmeans.result3$cluster, yes1$Hotel.stars, class_labels[i])
}
# View the results
print(BCubed_precision_recall_results)
##     BCubed_Precision BCubed_Recall
## 3          0.1912351     0.2260956
## 3,5        0.0000000           NaN
## 4          0.2350598     0.3160916
## 4,5        0.0000000           NaN
## 5          0.3824701     0.5253984
Col1 Col2 Col3 Col4
k=2 k=4 k=6
Average Silhouette width
cluster size avg
1 477 0.58
2 24 1.00
cluster size avg
1 48 0.73
2 405 0.66
3 24 1.00
4 24 1.00
cluster size avg
1 24 1.00
2 48 0.71
3 287 0.87
4 24 1.00
5 94 1.00
6 24 1.00
total within-cluster sum of square
 2.407178e+03 2.085551e-29
 (between_SS / total_SS =  19.8 %)
6.651325e+01 1.125952e+03 2.085551e-29 1.967222e-29  (between_SS / total_SS =  60.3 %)
2.085551e-29 6.651325e+01 1.204999e+02 1.967222e-29 2.881391e-28 2.085551e-29  (between_SS / total_SS =  93.8 %)
BCubed precision
3     0.19161677
3,5:    0.14371257
4:     0.23552894
4,5:  0.04790419
5:     0.38123752

3: 0.19161677

3,5: 0.14371257

4 : 0.23552894

4,5: 0.04790419

5: 0.38123752

3     0.19161677
3,5   0.14371257
4     0.23552894
4,5   0.04790419
5     0.38123752
BCubed recall
3 :    0.95209581

3,5 :  0.95209581
undefined
4: 0.95209581

4,5:   0.04790419

5:     0.

3: 0.4401198

3,5: 0.5708583

4 : 0.6537095

4,5: 0.8083832

5: 0.8083832

3:   0.22604790
3,5: 0.41383899
4:   0.31591055
4,5: 0.04790419
5:  0.52444849

7. Findings:

At the beginning, we selected a dataset that represents the rating of las veags hotels that been extracted from TripAdvisor we want to predict the hotels stars based on amenities such as a Pool, Gym, Spa, Free Internet, Tennis Court, and Casino.

To enhance the accuracy and efficiency of our analysis, we initially focused on gaining a deep understanding of our dataset. This was achieved by utilizing a range of statistical tools, including pie charts, scatter plots, and histograms, to explore the data’s characteristics. We conducted thorough checks for any null or missing values and determined that our dataset was complete, with no missing entries. Additionally, we identified and removed any outliers, as these could negatively impact the accuracy of our results.

After that we applied data transformation, so we encode encoding for all the attributes also we normilze the data in range 0,1

In the final stages of our analysis, we executed classification and clustering techniques.

For the classification, we opted for the decision tree approach and experimented with three attribute selection measures (IG, G ratio, Gini index) and three different splits of training and testing data:

The accuracies observed from these models were as follows:

information gain

we tried

gain ratio

we tried

gini index

The model that performed the best was the one with the 80% training and 20% test , indicating that it had the highest rate of correctly classified instances.

the model will correctly predict the star rating of a hotel based on these amenities.

For the clustering we used K-means algorithm with 3 different K to find the optimal number

of clusters we took k=4, k=6, k=2

we calculated the average silhouette width for each K

the results is

Number (K)= 4, the average silhouette width=0.7

Number (K)= 2, the average silhouette width=0.6

Number (K)= 6, the average silhouette width=0.9

The model that has the optimal number of clusters is 6-Mean since it has the best average silhouette width which means that objects within the same cluster are close to each other and as far as possible to the objects in the other cluster

Finally, After analyzing both clustering and classification outputs it is clear that a classification approach is better suited for our dataset

our aim is to predict the star ratings of these hotels, a classification approach is better suited for our needs.

This is because it uses known hotel features and their associated star ratings to learn how to predict the rating of the hotel.